5

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>
4

2 に答える 2

3

これは、XSLT からは制御できないシリアライゼーションの詳細です

それを達成するための信頼できる方法は、変換の結果に対してポストプロセッサを実行することです。

于 2012-06-14T02:22:34.307 に答える
1

スペースを追加するためにgnuwin32sedを使用することになりました(山かっこをエスケープするには^>^が必要であることに注意してください)

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