繁体   English   中英

XSLT转换以删除元素内的空间

[英]XSLT transformation to remove space within element

我对XSLT有点陌生。 问题是我需要摆脱输入XML中某些元素内的空格。 例如

<element id="12">


</element>

应该转变成

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

并且

<element id="12">

something

</element>

进入

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

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

您想做的是一个Identity转换

尝试这样的事情:

<?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>

希望这个能对您有所帮助。

<xsl:template match="text()">
    <xsl:value-of select="fn:normalize-space()"/> <!-- fn is the prefix bound to xpath functions -->
</xsl:template>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM