XSLT XML输出格式正在剥离结束标记
之前的空格 <Import Include="System.Web" />
变为<Import Include="System.Web"/>
由于XSLT还删除了它所应用的文档中的许多节点,我想删除空格,除非是关闭斜杠。
xslt正在应用于许多xml ms proj文件
template.xsl;
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="http://schemas.microsoft.com/developer/msbuild/2003">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!--<xsl:preserve-space elements="text"/>-->
<xsl:template match='@*|node()'>
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
</xsl:template>
...
...
</xsl:stylesheet>
答案 0 :(得分:3)
这是一个无法通过XSLT 控制的序列化详细信息。
实现它的任何可靠方法都是在转换结果上运行后处理器。
答案 1 :(得分:0)
我最后使用gnuwin32 sed添加了一个空格(注意^>
:^
是逃离有角度的括号所必需的)
sed\sed.exe -i "s/\"\/^>/\" \/>/g" %outfile%