从XML内容中的路径选择XPath

时间:2010-05-11 00:01:05

标签: xml xslt xpath

我有以下XML:

<root>
  <name>The name</name>
  <long>
    <path>
      <value>Some Value</value>
    </path>
  </long>
  <field>/root/name</field>
  <field>/root/long/path/value</field>
</root>

我想在字段标记中选择这些路径,但是当我尝试以下操作时:

<xsl:value-of select="/root/field[1]" />

我得到的只是该字段的文本值。有没有办法从这些值中选择正确的节点?

3 个答案:

答案 0 :(得分:1)

您需要某种形式的动态评估。我相信有一个非标准函数eval()(或某些实现中的evaluate())允许您使用动态xpath。

您使用的是哪个XPath处理器,XPath 1.0还是2.0?

答案 1 :(得分:0)

即使在XSLT 2.0 中也不支持这种动态评估。

您使用的XSLT处理器是否支持EXSLT的dyn:evaluate()扩展功能?

答案 2 :(得分:0)

如果您想要包含“/ root / node”的节点,那么您的xpath将是:

//*[.='/root/name']

这称为predicate,其中*匹配任何节点,.是当前节点。