如何测试XML元素是否包含文本元素?

时间:2010-10-03 19:35:20

标签: c# xml xmlnode

我想知道如何测试这种情况:

<foo>
    <bla1>xxx</bla1>
    <bla2>yyy</bla2>
    <bla3>zzz</bla3>
</foo>

在while(reader.Read())中,当我在foo和bla1,bla2,bla3时放入XmlNodeType.Element ...当放入xxx,yyy,zzz中的.TextElement时。但是我可以测试bla的内部是否有文本值?

非常感谢

Pedro Dusso

3 个答案:

答案 0 :(得分:2)

不,只要您使用XmlReader 就不能。

XmlReader类通过XML hieararchy实现只向前游标。因此,您只能在当前位置找到的XML节点上运行。

在你的情况下,这意味着你将无法在没有首先迭代它们的情况下检查“bla”节点的内容。

答案 1 :(得分:0)

如果您使用的是XmlTextReader,则可以使用属性IsEmptyElement

答案 2 :(得分:0)

读者有什么问题.HasValue? (或string.IsNullOrEmpty(reader.Value))?