您可以使用<xsl:output indent="no"/>
关闭缩进,但包含文本的元素中的换行符仍然存在(即使使用<xsl:strip-space elements="*"/>
)。您可以使用normalize-space()
删除它们。
例子...
XML 输入
<Element1>
<attr1>
test1
</attr1>
</Element1>
XSLT 2.0(也可用作 1.0)
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|*|processing-instruction()|comment()">
<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>
XML 输出
<Element1><attr1>test1</attr1></Element1>