C# 检查xml节点是否包含子节点
是否有方法使用C# 检查xml节点是否包含子节点,c#,xml,xpath,C#,Xml,Xpath,是否有方法使用XPATH检查我要查找的节点是否包含子节点 我有一个xml文件,一个特定的节点有时有child,有时没有!如何检查这一点,这样我就不会得到太多的NullReferenceExceptions 检查以下示例: var text = xml.SelectSingleNode("/Document/Tests/Test").InnerText; 如果我正在使用的当前xml文件中有Test节点,则其工作正常,但在另一个xml文件中,Tests节点不包含任何内容,并且没有明显的原因 XPA
XPATH
检查我要查找的节点是否包含子节点
我有一个xml文件,一个特定的节点有时有child,有时没有!如何检查这一点,这样我就不会得到太多的NullReferenceExceptions
检查以下示例:
var text = xml.SelectSingleNode("/Document/Tests/Test").InnerText;
如果我正在使用的当前xml文件中有Test
节点,则其工作正常,但在另一个xml文件中,Tests
节点不包含任何内容,并且没有明显的原因
XPATH中是否有执行此操作的命令?大概是!!:
“/Document/Tests[NodeExist(Test)]
谷歌非常快速地给出了以下内容:
/Document/Tests/not(*)
是的,您可以使用以下xpath “/Document/Tests[node()]” 这将为您提供所有具有子节点的测试节点。您可以进一步改进以提供节点名称和节点类型 如果您想要具有名为Test的子节点的特定节点 用这个 “/Document/Tests[测试]” 更多示例可以在MSDN中找到
/Document/Tests[Test]
将为您提供测试
节点,这些节点作为子节点只有一个测试
节点
您还可以对/Document/Tests
运行选择,然后调用元素.GetElementsByTagName(“Test”).Count>0
以确保至少有一个测试节点。这样,您可以通过编程方式毫无例外地显示空字符串或错误消息