C# 如何使用XmlReader检测无子xml节点?
如何区分这两个节点C# 如何使用XmlReader检测无子xml节点?,c#,C#,如何区分这两个节点 <Header Name="ABC" /> and <Test Test="AA"> Hello </Test> 和 你好 使用XmlReader?问题是,我无法使用XmlReader了解节点是否包含子节点。请参见MSDN:-“在派生类中重写时,从流中读取下一个节点。” MSDN页面上有一个示例,但我认为您希望执行以下操作: using(var reader = XmlReader.Create(stream)) { whil
<Header Name="ABC" />
and
<Test Test="AA">
Hello
</Test>
和
你好
使用XmlReader?问题是,我无法使用XmlReader
了解节点是否包含子节点。请参见MSDN:-“在派生类中重写时,从流中读取下一个节点。”
MSDN页面上有一个示例,但我认为您希望执行以下操作:
using(var reader = XmlReader.Create(stream))
{
while(!reader.EOF)
{
reader.Read();
if(reader.IsEmptyElement)
{
...
}
}
}
诀窍在于,当您理解每次在while
循环并调用reader.Read()时
您可以前进到下一个节点,因此当您在读取器
上调用任何其他方法/属性时,它们将对当前节点起作用
作为替代方法,您可以使用XPath并检查XmlNode.HasChildNodes
属性