我遇到与上述问题相同的问题 How to get text from the node in xml file, that contains text and child node? 但是我需要XSLT来匹配文本。
我有以下简化的XML:
<?xml version="1.0" encoding="UTF-8"?>
<order>2013-09-02T00:00:00COPY
<contentVersion>
<versionIdentification>2.1.1</versionIdentification>
</contentVersion>
</order>
我尝试过以下XPATH:
<xsl:variable name="vtextPostM" select="text()[self::order]"/>
<xsl:variable name="vtextPostM" select="self::text()[1]"/>
<xsl:variable name="vtextPostM" select="text()[self::*]"/>
我期待:
2013-09-02T00:00:00COPY
你能帮帮我吗?谢谢。
祝你好运, 彼得
答案 0 :(得分:2)
糟糕,刚刚编辑了我的回答:
<xsl:variable name="vtextPostM" select="order/child::node()[position()=1][self::text()]"/>
答案 1 :(得分:1)
在定义变量时,您到底在哪里?没有任何上下文,绝对路径:
/order/text()[1]
或仅(使用您的具体示例):
/order/text()
应该产生你想要的结果。您需要将它包装在normalize-space()中,因为它包含<contentVersion>
之前的尾随换行符。