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如果目前節點是 (等於結尾為 NodeType) 的專案,則為 ,否則為 false/>XmlNodeType.Element

例外狀況

在先前的非同步作業完成前呼叫了 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"/>IsEmptyElement () true

<item num="123"></item>IsEmptyElement (為 false ,雖然元素內容是空的) 。

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

如果因為架構驗證而將預設內容新增至專案, IsEmptyElement 仍會傳 true 回 。 它與元素是否具有預設值沒有關系。 換句話說, IsEmptyElement 只要報告原始檔案中的 元素是否具有結束元素標記即可。

適用於