如何为相关属性编写xpath

时间:2013-10-02 16:37:41

标签: xml xpath

我希望获得以下XML树中指定的作者姓氏:

...
<contrib contrib-type="author">
          <name>
            <surname>Obama</surname>
            <given-names>Barack</given-names>
          </name>
          <xref rid="aff1" ref-type="aff"/>
          <xref ref-type="corresp" rid="cor1">*</xref>
        </contrib>

我不知道这是否可行,但我可以定义Xpath

//xref[@ref-type="corresp"]

然后获取姓氏值?

/name/surname

我从来没有在W3schools教程之前和之后写过一个xpath值/使用生成器来玩我只能弄清楚如何查询子级别,例如获得contrib-type =“author”然后选择相关的姓氏。在这里我想要的是“我想的同一级别”,即低于<contrib>

1 个答案:

答案 0 :(得分:2)

要从surname节点开始xref[@ref-type="corresp"],您可以使用..导航到他们的父级(将带您到相关的contrib),然后继续使用surname

再次使用name/surname
//xref[@ref-type="corresp"]/../name/surname