C# 基于同级节点选择XML节点
我试图选择一个XML节点,其中父节点的另一个子节点包含一个特定值 XML如下所示: 不在乎 不在乎 不在乎 不在乎 性能证据 这就是我想要选择的 我在C中使用XPath。目前我的查询是这样的:但显然不起作用 docNav=新的XPathDocumentlocalFile; nav=docNav.CreateNavigator; xPath=//主题[对象/描述='性能证据]]/Text; 字符串值=nav.SelectSingleNodexPath.value;C# 基于同级节点选择XML节点,c#,xml,xpath,C#,Xml,Xpath,我试图选择一个XML节点,其中父节点的另一个子节点包含一个特定值 XML如下所示: 不在乎 不在乎 不在乎 不在乎 性能证据 这就是我想要选择的 我在C中使用XPath。目前我的查询是这样的:但显然不起作用 docNav=新的XPathDocumentlocalFile; nav=docNav.CreateNavigator; xPath=//主题[对象/描述='性能证据]]/Text; 字符串值=nav.SelectSingleNodexPath.value; 如何从具有性能证据的对象/描述值
如何从具有性能证据的对象/描述值的主题中获取文本节点的内容?您应该首先选择包含指针文本的描述节点,然后移回公共父节点并选择作为其子节点的文本节点
//Topic/Object/Description[text()='Performance Evidence']/../../Text/text()
正如在评论中所说,我的XPath是正确的
我在示例XML中遗漏的是解决方案的关键。。。名称空间
我找到了另一个问题的答案:您的XPath是正确的。你能具体说明什么不起作用吗?@KirillPolishchuk nav.selectSingleNodeExpath返回null。如果我的XPath是正确的,那么我是否对c语言的其余部分做了一些错误的事情呢。。。我一直在尝试通过其他方法获取数据。我可以使用xmlNodeList中的XmlDocument和foreachXmlNode节点遍历树,但不能通过XmlDocument。选择SingleNode。。。。我不希望有5+嵌套的foreach循环只是为了找到我想要的节点。。。有什么建议吗,或者我应该把这变成一个新问题吗?提出了一个新问题。仍然没有解决办法。