我正在使用XDocument
,并且如果节点的名称与另一个节点的名称不同,则需要解析XML文件以检索具有相同名称事件的所有属性。
例如,对于此XML:
<document>
<person name='jame'/>
<animals>
<dog name='robert'/>
</animals>
</document>
我想检索所有名为“名称”的属性。
我可以使用一个请求XPath来做到这一点,还是需要解析每个节点以查找thos属性?
谢谢你的帮助 !
最佳答案
XPath表达式
//@name
会选择所有称为
name
的属性,无论它们出现在何处。顺便说一句,“解析”是XPath进入图片之前XML文档所发生的事情。因此,当您说“我需要解析每个节点”时,我认为这并不是您的意思。在运行XPath查询之前,通常已经分析了整个文档。但是,我不确定您的意思是“解析”。可能类似于“我是否需要访问每个元素”之类的内容来查找这些属性?在这种情况下,答案是否定的,除非在某种程度上依赖于实现的模糊意义上对您没有任何影响。
关于c# - 获取具有相同名称的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25727842/