有条件地关于兄弟节点的值

时间:2014-10-23 19:17:46

标签: xml xpath

我试图提出一个xpath,只有当它与CRS01节点位于相同的LOOPSES中时才返回节点SES05,其值为' R'。在下面的XML中,它将返回" SPRING"但不是" FALL"。

<LOOPSES>
    <SES>
        <SES05>FALL</SES05>
    </SES>
    <LOOPCRS>
        <CRS>
            <CRS01>T</CRS01>
        </CRS>
    </LOOPCRS>
</LOOPSES>
<LOOPSES>
    <SES>
        <SES05>SPRING</SES05>
    </SES>
    <LOOPCRS>
        <CRS>
            <CRS01>R</CRS01>
        </CRS>
    </LOOPCRS>
</LOOPSES>

我尝试了这个xpath:

LOOPSES/SES/SES05[.//LOOPCRS/CRS/CRS01="R")]

但它没有返回任何东西。我可以问的是什么?

1 个答案:

答案 0 :(得分:1)

您的谓词位于元素SES05上,该元素没有任何LOOPCRS个后代。将谓词改为LOOPSES

尝试这样的事情:

LOOPSES[LOOPCRS/CRS/CRS01='R']/SES/SES05