我得到了一个 Web 服务,我必须使用它来将数据提取到表中。现在它会拉取所有节点,但我只想拉取带有 Web 的节点。
在网上搜索,我只能找到有关如何在有属性的情况下执行此操作的示例,而实际上没有。这是我到目前为止所拥有的,似乎无法弄清楚下一步该怎么做 -
XmlNodeList records = root.SelectNodes("descendant::record[//@Origin=Web]");
也试过了——
XmlNodeList records = xmldoc.SelectNodes("/Results/Record/Origin['=Web']");
编辑 - 我知道以上两种尝试都无法正常工作
编辑 2 - XML 是这样设置的 -
<results>
<record>
<name></name>
<email></email>
<origin></origin>
</record>
</results>
最佳答案
您可以使用此 XPath 来完成:
//origin[text()="web"]
这意味着选择内部文本为 web
的所有 origin
元素(无论层次如何)。
所以,你的陈述现在变成了:
XmlNodeList records = xmldoc.SelectNodes("//origin[text()='web']");
关于c# - 选择具有特定值的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998752/