XmlReader.IsEmptyElement 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,取得值,指出目前節點是否為空元素 (,例如) <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
只要報告原始檔案中的 元素是否具有結束元素標記即可。