XmlReader.IsEmptyElement 屬性

定義

在衍生類別中覆寫時,取得值,指出目前節點是否為空元素 (,例如) <MyElement/>

C#
public abstract bool IsEmptyElement { get; }

屬性值

true如果目前節點是 (等於結尾為 NodeType) 的專案,則為 ,否則為 false/>XmlNodeType.Element

例外狀況

在先前的非同步作業完成前呼叫了 XmlReader 方法。 在此情況下,會擲回 InvalidOperationException 與「非同步作業已經在進行中」的訊息。

範例

下列範例會顯示每個專案的文字內容。

C#
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.
    }
  }
}

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

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 只要報告原始檔案中的 元素是否具有結束元素標記即可。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0