XPath 根据子项的子值选择元素
Posted
技术标签:
【中文标题】XPath 根据子项的子值选择元素【英文标题】:XPath to select element based on childs child value 【发布时间】:2012-03-29 19:06:23 【问题描述】:尝试根据其中一个子元素的值来选择一个元素
考虑以下但不起作用,感谢任何帮助,谢谢
./book[/author/name = 'John']
或
./book[/author/name text() = 'John']
想要作者姓名 = 'John' 的所有书籍
Xml 文件
<list>
<book>
<author>
<name>John</name>
<number>4324234</number>
</author>
<title>New Book</title>
<isbn>dsdaassda</isbn>
</book>
<book>...</book>
<book>...</book>
</list>
【问题讨论】:
【参考方案1】:差不多了。在你的谓词中,你想要一个相对路径,所以改变
./book[/author/name = 'John']
到任一
./book[author/name = 'John']
或
./book[./author/name = 'John']
你会匹配你的元素。您当前的谓词返回文档的根目录以查找 author
。
【讨论】:
没有.
对我不起作用(需要./author/name
)
是否可以在函数中使用这种语法?例如,如何实现诸如./book[contains(author/name, "John")]
之类的东西?
@OgrishMan 新问题应该进入New Question,但在那之前我会尝试一下!顺便说一下,一般来说,对于 xpath 中的字符串文字,您需要单引号 '
而不是双引号 "
。以上是关于XPath 根据子项的子值选择元素的主要内容,如果未能解决你的问题,请参考以下文章