Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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# 获取具有相同名称的所有属性_C#_Xpath - Fatal编程技术网

C# 获取具有相同名称的所有属性

C# 获取具有相同名称的所有属性,c#,xpath,C#,Xpath,我使用的是XDocument,如果某个属性的节点名称不同,我需要解析XML文件以检索具有相同名称事件的所有属性。 例如,对于此XML: <document> <person name='jame'/> <animals> <dog name='robert'/> </animals> </document> 我想检索名为“name”的所有属性 我可以用一个请求XPath来实现

我使用的是
XDocument
,如果某个属性的节点名称不同,我需要解析XML文件以检索具有相同名称事件的所有属性。 例如,对于此XML:

<document>
    <person name='jame'/>
    <animals>
          <dog name='robert'/>
    </animals>
</document>

我想检索名为“name”的所有属性

我可以用一个请求XPath来实现这一点,还是需要解析每个节点来找到这些属性

谢谢你的帮助

XPath表达式

//@name
将选择名为
name
的所有属性,无论它们出现在何处


顺便说一句,“解析”是在XPath出现之前发生在XML文档上的事情。所以当你说“我需要解析每个节点吗”,我想这并不是你真正的意思。在运行XPath查询之前,通常已解析整个文档。然而,我不确定你说的“解析”是什么意思。可能类似于“我是否需要访问每个元素”来查找这些属性?在这种情况下,答案是否定的,除非在某种模糊的依赖于实现的意义上,这对您没有任何影响。

谢谢!!它工作得很好。你是对的。我的意思是“查看每个节点”,而不是“重新解析整个文件”。