1

我对 XSLT 的东西有点陌生。问题是我需要删除输入 XML 中某些元素中的空格。例如

<element id="12">


</element>

应该转化为

<element id="12"></element>

并且

<element id="12">

something

</element>

进入

<element id="12">something</element>

其余的 xml 应该保持不变。xsl可以进行这种转换吗?

4

2 回答 2

4

您喜欢做的是身份转换

尝试这样的事情:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>

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

</xsl:stylesheet>
于 2013-06-05T07:26:35.170 回答
1

希望对你有帮助。

<xsl:template match="text()">
    <xsl:value-of select="fn:normalize-space()"/> <!-- fn is the prefix bound to xpath functions -->
</xsl:template>
于 2013-06-05T07:01:01.010 回答