我对 XSLT 的东西有点陌生。问题是我需要删除输入 XML 中某些元素中的空格。例如
<element id="12">
</element>
应该转化为
<element id="12"></element>
并且
<element id="12">
something
</element>
进入
<element id="12">something</element>
其余的 xml 应该保持不变。xsl可以进行这种转换吗?
我对 XSLT 的东西有点陌生。问题是我需要删除输入 XML 中某些元素中的空格。例如
<element id="12">
</element>
应该转化为
<element id="12"></element>
并且
<element id="12">
something
</element>
进入
<element id="12">something</element>
其余的 xml 应该保持不变。xsl可以进行这种转换吗?
您喜欢做的是身份转换。
尝试这样的事情:
<?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>