XPath根据childs子值选择元素返回多个值?

时间:2012-05-01 20:03:26

标签: 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时,它会选择book节点,但它会选择所有这些节点,而不仅仅是author = John的节点。有没有理由说xpath会忽略它并且只是拉动每个书籍节点?

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

1 个答案:

答案 0 :(得分:2)

以下内容应该有效:

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

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