Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查xml节点是否包含子节点_C#_Xml_Xpath - Fatal编程技术网

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
以确保至少有一个
测试节点。这样,您可以通过编程方式毫无例外地显示空字符串或错误消息