我正在使用 Xsl 转换将 Xml 数据显示为 Html。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:util="urn:the-xml-files:xslt">
<xsl:output method="xml" indent="yes"
omit-xml-declaration="yes" encoding="utf-8"/>
<xsl:template match="/">
<xsl:for-each select="/Categories/Category">
<li class="c">
<a class="d">
<xsl:attribute name="id">cat_<xsl:value-of select="categoryid"/></xsl:attribute>
</a>
</li>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
如果 li 元素的 id 属性的 select 不在一行中,XSL 处理器会用空格填充属性值,这完全破坏了前端的 javascript。
当然,Visual Studio 总是会在一行中重新格式化许多定义,所以如果我更改某些内容,我需要手动删除空格。
如何从元素中删除不必要的空格?我应该使用 xsl:strip-space 执行 xsl:copy,还是有更好的解决方案?:)