我正在将 XML 转换为 XML,并希望自动缩进结果。
所以我使用<xsl:output method="xml" indent="yes"/>
当通过 .net4 编译转换运行它时,只要输出上没有文本节点,它就可以很好地工作。
一旦我添加了一些文本<xsl:text>some text</xsl:text>
,整个 xml 文件的缩进就消失了,结果 XML 由一些非常长的行组成(格式良好但不可读......)
例子:
<?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:template match="/">
<Root>
<!--xsl:text>some test</xsl:text-->
<Test1/>
<Test2/>
</Root>
</xsl:template>
</xsl:stylesheet>
结果:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Test1 />
<Test2 />
</Root>
删除评论时的结果<xsl:text>some test</xsl:text>
:
<?xml version="1.0" encoding="utf-8"?>
<Root>some test<Test1 /><Test2 /></Root>
有任何想法吗?