给定这个XML,什么XPath返回其prop属性包含Foo的所有元素(前三个节点):
- <bla>
- <a prop="Foo1"/>
- <a prop="Foo2"/>
- <a prop="3Foo"/>
- <a prop="Bar"/>
- </bla>
- //a[contains(@prop,'Foo')]
如果我使用这个XML来获得结果工作。
- <bla>
- <a prop="Foo1">a</a>
- <a prop="Foo2">b</a>
- <a prop="3Foo">c</a>
- <a prop="Bar">a</a>
- </bla>
这个网站是伟大的测试这种事情
http://www.xmlme.com/XpathTool.aspx
编辑:
另一个要注意的是,虽然上面的XPath将返回正确的答案为特定的xml,如果你想保证你只获得元素“blah”中的“a”元素,你应该像其他人提到也使用
- /bla/a[contains(@prop,'Foo')]
这将搜索你的整个xml文档中的所有“a”元素,无论是否嵌套在“blah”元素
- //a[contains(@prop,'Foo')]
我添加了这是为了彻底和在stackoverflow的精神。