我对XSLT的东西有点新鲜。问题是我需要摆脱输入XML中某些元素内的空格。例如
<element id="12">
</element>
应该转化为
<element id="12"></element>
以及
<element id="12">
something
</element>
到
<element id="12">something</element>
并且xml的其余部分应保持不变。使用xsl可以实现这种转换吗?
答案 0 :(得分:4)
您喜欢做的是Identity transform。
尝试这样的事情:
<?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>
答案 1 :(得分:1)
希望,这会对你有帮助。
<xsl:template match="text()">
<xsl:value-of select="fn:normalize-space()"/> <!-- fn is the prefix bound to xpath functions -->
</xsl:template>