XmlReader.IsEmptyElement 屬性

定義

當在導出類別中覆寫時,會得到一個值,表示目前節點是否為空元素(例如, <MyElement/>)。

public:
 abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean

屬性值

true若當前節點為元素(NodeTypeXmlNodeType.Element於),且以 結尾/>;否則,。 false

例外狀況

在先前非同步操作結束前,會呼叫一個 XmlReader 方法。 此時, InvalidOperationException 會拋出「非同步操作已進行中」的訊息。

範例

以下範例顯示每個元素的文字內容。

while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
                {
                    Console.WriteLine("<{0}/>", reader.Name);
                }
                else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
    }
  }
}
While reader.Read()
  If reader.IsStartElement() Then
    If reader.IsEmptyElement Then
      Console.WriteLine("<{0}/>", reader.Name)
    Else
      Console.Write("<{0}> ", reader.Name)
      reader.Read() ' Read the start tag.
      If reader.IsStartElement() Then ' Handle nested elements.
        Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
      End If
      Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
    End If
  End If
End While

範例中使用檔案 elems.xml,作為輸入。

<book>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
  <misc/>
</book>

備註

這個特性讓你能判斷以下差異:

<item num="123"/>IsEmptyElementtrue)。

<item num="123"></item>IsEmptyElementfalse,但元素內容為空)。

空元素不會產生對應 EndElement 節點。

若因結構驗證而加入預設內容, IsEmptyElement 仍會回傳 true。 這與該元素是否有預設值無關。 換句話說,就是 IsEmptyElement 簡單地報告來源文件中的元素是否帶有終點元素標籤。

適用於