【发布时间】:2016-10-28 11:28:48
【问题描述】:
我使用 .NET 的 XMLDocument 作为 XML 文件的容器,当我使用时:
document.GetElementsByTagName("ElementX")[0].HasChildNodes
即使元素看起来像这样,它也会对所有元素返回 true:
<ElementX>
<A>1</A>
<B>2</B>
Some value
</ElementX>
或者
<ElementX>Some Value</ElementX>
示例一显然有子元素,但第二个示例似乎都没有返回 true。我猜 XMLDocument 计算任何值(即使它不是元素)作为孩子?有没有办法可以检查一个元素是否只包含文本或一个元素。提前致谢。
【问题讨论】:
-
您检查了
((XmlElement)(document.GetElementsByTagName("ElementX")[0])).ChildNodes中的内容吗? -
看看this答案
-
@Itiveron 我做了更多的调试,似乎将值放在自己的节点中,所以我必须更深入一层来检查它是否有子节点。知道为什么要这样做吗?