我正在将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>
有什么想法吗?
答案 0 :(得分:2)
用指定的缩进:
<xsl:output indent="yes"/>
<强> affects only the treatment of white-space-only nodes 强>
每当您指定非空白文本节点时,您必须自己为它们提供缩进。