Xml XPath通配符和contains()函数用法
我在使用XPath和contains函数时遇到问题。想象一下下面的XML示例:Xml XPath通配符和contains()函数用法,xml,xpath,contains,Xml,Xpath,Contains,我在使用XPath和contains函数时遇到问题。想象一下下面的XML示例: <doc> <Test> <Name>1 Pre Histoy</Name> <Type>Known</Type> <Data> <Name>Dinasor</Name> <Name>Fish<
<doc>
<Test>
<Name>1 Pre Histoy</Name>
<Type>Known</Type>
<Data>
<Name>Dinasor</Name>
<Name>Fish</Name>
</Data>
</Test>
<Test>
<Name>1 Post Histoy</Name>
<Type>Known</Type>
<Data>
<Name>Human</Name>
<Name>Dog</Name>
</Data>
</Test>
<Test>
<Name>1 Post Histoy</Name>
<Type>UNKNOWN</Type>
<Data>
<Name>Human</Name>
<Name>Dog</Name>
</Data>
</Test>
</doc>
任何帮助和提示都将不胜感激。试试以下方法:
/doc/Test[contains(Name, "Pre") and Type="Known"]/Data/Name
下面是一个使用Javascript实现的工作示例
函数fu(路径){
var输出=”;
var results=document.evaluate(路径、文档、null、XPathResult.ANY_类型、null);
而(nextResult=results.iterateNext()){output+=nextResult.outerHTML+“\n”}
返回输出;
}
document.body.innerText=fu('//doc/Test[contains(Name,“Pre”)和Type=“Known”]/Data/Name')代码>
1史前
已知的
迪纳索
鱼
1后历史
已知的
人类
狗
1后历史
不为人知
人类
狗
这不应该是结尾带有大写字母D的数据吗?我想是的,如果你把第一个字符算为结尾之一……很抱歉,这只是一个例子。大写字母D也不会做什么。@Jon:谢谢!这是永远的:)很明显,你捡起它的速度比我快;)我也因为同样的原因进行了测试,它成功了。谢谢!我的是/PlaceSearchResponse/result[contains(name,'Bimeks')]/geometry
/doc/Test[contains(Name, "Pre") and Type="Known"]/Data/Name