C# 选择具有特定值的节点
我得到了一个web服务,我必须使用它将数据拉入表中。现在它会拉所有节点,但我只想拉带有Web的节点 在网上搜索时,我只能找到在有属性的情况下如何做到这一点的示例,而没有属性。这就是我目前所知道的,我似乎不知道下一步该怎么办-C# 选择具有特定值的节点,c#,xml,xpath,C#,Xml,Xpath,我得到了一个web服务,我必须使用它将数据拉入表中。现在它会拉所有节点,但我只想拉带有Web的节点 在网上搜索时,我只能找到在有属性的情况下如何做到这一点的示例,而没有属性。这就是我目前所知道的,我似乎不知道下一步该怎么办- XmlNodeList records = root.SelectNodes("descendant::record[//@Origin=Web]"); 还审判了- XmlNodeList records = xmldoc.SelectNodes("/Results/Re
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"]
这意味着选择所有origin
元素(不考虑层次结构),其中内部文本为web
因此,您的声明现在变成:
XmlNodeList records = xmldoc.SelectNodes("//origin[text()='web']");
您可以使用以下XPath完成此操作:
//origin[text()="web"]
这意味着选择所有origin
元素(不考虑层次结构),其中内部文本为web
因此,您的声明现在变成:
XmlNodeList records = xmldoc.SelectNodes("//origin[text()='web']");
上面哪一个例子我应该使用它?不幸的是,这正是我所拥有的,并且由于某些原因它不起作用。不确定这是否有区别,但我在查看web服务时,它显示了如下来源-这会改变答案吗?@user3869708:好的,那么实际问题是您没有包含
web
的origin
元素显然没有,我现在看到它显示为有不同的路线可以走吗?我应该使用上面的例子中的哪一个?不幸的是,这正是我所拥有的,并且由于某种原因它不起作用。不确定这是否有区别,但我查看web服务,它显示了这样的来源-这会改变答案吗?@user3869708:好的,那么实际的问题是您没有包含web
的来源元素?显然不是,我现在看到它显示为有不同的路线可走吗?