4

让我们的 XML 看起来像这样

<bookshelf>
  <cathegory name = "Programming" />
  <book name = "Tille 1" >
    <author>....</author>
  </book>
  <book name = "Tille 2" >
    <author>....</author>
    <translator></translator>
  </book>
  <book name = "Tille 3" >
    <author>....</author>
    <translator>John D.</translator> <!-- non-empty nodes are acceptred! -->
  </book>
</bookshelf>

我们如何选择具有名称属性的分类节点和至少一本书具有非空翻译节点的书架

基本 XPath 教程没有提供如此复杂的示例。

4

1 回答 1

9

您可以一个接一个地链接条件:

//bookshelf[cathegory/@name][.//translator/text()]

它选择一个书架,其中有一个具有名称属性的分类子级,并且散列一个非空的翻译后代。

于 2013-04-02T10:34:25.053 回答