这是我的XML文件。
//profiles/profile[name[last()]="john" and @id="8405"]
<profiles>
<profile id='8404'>
<name>john</name>
<name>mark</name>
</profile>
<profile id='8405'>
<name>john</name>
</profile>
</profiles>
我希望筛选出最后一个“name”子值为John的个人资料,结果应该只包含id=8405的个人资料。您能给出相应的XPath表达式吗?
以下是我的尝试:
//profiles/profile[name[last()]="john" and @id="8405"]
var filterdFile = profilefileXML.XPathSelectElements("/profiles/profile[name[last()]='john']");
但是这没有意义。
更新: 我的尝试是正确的,只是其中有语法错误。谢谢大家。
id=8405
的个人资料元素。如果你只想要个人资料的id,则需要添加/@id
,即/profiles/profile[name[last()]='john']/@id
。 - StuartLC