【发布时间】:2017-12-09 13:50:05
【问题描述】:
我是 XPath 的新手,所以请多多包涵。基本问题。
我想选择文本,包括元素。下面的示例输入:
<node1>
<node2>
<node3>A1</node3>
<node3>A2</node3>
<node3>A3</node3>
<node3>A4</node3>
</node2>
</node1>
我希望复制节点2的内容,包括标签,即:
<node2>
<node3>A1</node3>
<node3>A2</node3>
<node3>A3</node3>
<node3>A4</node3>
</node2>
但是,如果我使用 XPath /node1/node2/,我只能得到值 A1 A2 A3 A4(而不是 node2 和 node3 标记)。
【问题讨论】:
-
/node1/node()[not(self::text())]怎么样? -
@Andersson:上面的表达式返回语法错误 - 没有匹配的文本()
-
请发布您正在使用的 XSLT 代码。 没有看到您的代码,我能猜到的最好的结果是您的代码导致选择了正确的节点(元素),但没有具体处理,则应用默认的 XSLT 规则——即简单地输出选定节点的文本值。
标签: xml xslt xpath xpath-2.0 xpathnavigator