下面是输入xml:
<MEA>
<MEA01>PD</MEA01>
<MEA02>
<MEA0201>HT</MEA0201>
</MEA02>
<MEA03>
<MEA0301>CMT</MEA0301>
<MEA0302>12.300000</MEA0302>
</MEA03>
</MEA>
在下面的XSL表达式中,我正在检查PD
和HT
值,并根据我必须采用MEA0302
元素值。
但是以下表达并没有给出任何价值。
<xsl:value-of select="MEA[MEA01='PD']/MEA02[MEA0201='HT']/MEA03/MEA0302"/>
答案 0 :(得分:2)
这将解决您的问题:
MEA[MEA01='PD' and MEA02/MEA0201='HT']/MEA03/MEA0302
答案 1 :(得分:1)
这应该这样做:
MEA[MEA01='PD']/MEA02[MEA0201='HT']/../MEA03/MEA0302
或许这更有意义:
MEA[MEA01='PD' and MEA02[MEA0201='HT']]/MEA03/MEA0302
问题基本上是您进入MEA02
然后尝试获取MEA03
内的MEA02
并且该节点实际上并不存在。所以你可以进入它然后回到父节点(第一种情况)或者只是从父节点查询它(第二种情况)。