5

XSLT XML 输出格式正在去除结束标记之前的空格

<Import Include="System.Web" />变成<Import Include="System.Web"/>

由于 XSLT 还删除了它所应用的文档中的许多节点,因此我想去除空格,除非是右斜杠。

xslt 被应用于许多 xml ms proj 文件

模板.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>
4

2 回答 2

3

这是无法从 XSLT 控制的序列化细节

实现它的任何可靠方法都是对转换结果运行后处理器。

于 2012-06-14T02:22:34.307 回答
1

我最终使用 gnuwin32 sed 添加了一个空格(注意^>:^是转义尖括号所必需的)

sed\sed.exe -i "s/\"\/^>/\" \/>/g" %outfile%
于 2012-06-14T07:46:51.160 回答