XSL获取节点文本而不获取子节点

时间:2014-08-06 18:37:37

标签: xml node.js xslt xslt-1.0

<description>Valid Status Code required (“A”, “R”, “P”, “AR”)
    <br />
    <list type="bullet">
        <item>
            <description>A = Approved</description>
        </item>
        <item>
            <description>R = Rejected</description>
        </item>
        <item>
            <description>P = Partial</description>
        </item>
        <item>
            <description>AR = Archived</description>
        </item>
    </list>
</description>

我试图简单地从 description XML节点获取Valid Status Code required (“A”, “R”, “P”, “AR”),而不是子节点。

<xsl:value-of select="description" />

执行此操作将返回所有内容中的文本。

如何忽略子节点?

<xsl:value-of select="description(ignore children)" /> // <- pseudo-code

2 个答案:

答案 0 :(得分:1)

尝试:

<xsl:value-of select="description/text()"/>

或者,或许最好:

<xsl:value-of select="normalize-space(description/text())"/>

答案 1 :(得分:1)

请记住,XML DOM中的任何内容都是节点,而不仅仅是元素节点。该字符串位于文本节点中。作为文本节点的描述的子节点的位置路径是:

description/text()

任何元素节点都是:

description/*

任何节点:

description/node()