xml - 基于子级子值返回多个值来选择元素的 XPath?

标签 xml xpath

因此,我遵循另一个问题中的示例,我将在此处复制该示例:

“尝试根据其中一个子元素的子元素的值来选择一个元素”

./book[author/name = '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>

现在,无论出于何种原因,当我使用上面的 xpath 时,它确实选择了图书节点,但它选择了所有节点,而不仅仅是author = John的节点。 xpath 是否有理由忽略这一点并只提取每个书籍节点?

我希望这是有道理的。谢谢!

最佳答案

以下应该有效:

/list/book[author/name/. = 'John']

/list/book[author/name/text() = 'John']

关于xml - 基于子级子值返回多个值来选择元素的 XPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403556/

相关文章:

android - backgroundTint 对 Lollipop 版本没有影响

javascript - XPATH 中第 n 个前面的元素(兄弟或祖先)

xml - 仅当节点存在时,XPath 才获取 sibling 计数

c# - 覆盖 XML 反序列化以使用基本反序列化并添加功能

java - 字符串数组内存不足错误

python - 奥杜 10 : Getting a view like invoice _line_ids from Invoice module

javascript - OpenUI5 : JS views vs. XML View

xml - XSD 断言以确保特定子项存在

java - 如何从 XPath 中子节点的值节点获取父文本值?

java - 使用 Selenium webdriver 从网页中提取表数据