簡體   English   中英

如何使用 XmlReader 檢測沒有子 xml 節點?

[英]How to detect no child xml node using XmlReader?

如何區分兩個節點

<Header Name="ABC" />
and
<Test Test="AA">
Hello
</Test>

使用 XmlReader? 問題是我無法使用XmlReader知道節點是否包含子節點。

請參閱 MSDN: XmlReader.Read 方法- “當在派生的 class 中被覆蓋時,從 stream 讀取下一個節點。”

該 MSDN 頁面上有一個示例,但是我認為您想做這樣的事情:

using(var reader = XmlReader.Create(stream))
{
    while(!reader.EOF)
    {
        reader.Read();

        if(reader.IsEmptyElement)
        {
            ...
        }
    }
}

訣竅是當您了解每次 go 圍繞while循環並調用reader.Read(); 您前進到下一個節點,因此當您調用reader上的任何其他方法/屬性時,它們將作用於當前節點的任何內容。

作為替代方案,您可以使用 XPath 並檢查XmlNode.HasChildNodes屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM