【发布时间】:2019-08-06 07:00:45
【问题描述】:
我想要一个在删除 guid 元素后没有空格的输出 xml 文件。
- 输入格式如下的 XML 文件:
<FilterDefinition xmlns="com.cisag.sys.tools.bi.obj.FilterDefinition">
<guid>72312782178912782380210</guid>
<name>REI0101</name>
<description>Partner</description>
<object>com.cisag.app.general.obj.Partner</object>
<nlsMode>SINGLE_LANGUAGE</nlsMode>
<dateTimeMode>COMPACT</dateTimeMode>
<exportTransformationURI/>
<importTransformationURI/>
<logLevel>USER</logLevel>
<logFolder/>
<authorizationMode>NO_CHECK</authorizationMode>
<filter>677869876769097980</filter>
</FilterDefinition>
- 现在我正在匹配元素
guid,如下所示:
<xsl:template match="/">
<xsl:apply-templates select="$FilterNode/*"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="guid"></xsl:template>
- 输出是这样的。现在有一个我不想要的空行,而不是
guid元素:
<FilterDefinition xmlns="com.cisag.sys.tools.bi.obj.FilterDefinition">
<name>REI0101</name>
<description>Partner</description>
<object>com.cisag.app.general.obj.Partner</object>
<nlsMode>SINGLE_LANGUAGE</nlsMode>
<dateTimeMode>COMPACT</dateTimeMode>
<exportTransformationURI/>
<importTransformationURI/>
<logLevel>USER</logLevel>
<logFolder/>
<authorizationMode>NO_CHECK</authorizationMode>
<filter>677869876769097980</filter>
</FilterDefinition>
- 期望的结果:
<FilterDefinition xmlns="com.cisag.sys.tools.bi.obj.FilterDefinition">
<name>REI0101</name>
<description>Partner</description>
<object>com.cisag.app.general.obj.Partner</object>
<nlsMode>SINGLE_LANGUAGE</nlsMode>
<dateTimeMode>COMPACT</dateTimeMode>
<exportTransformationURI/>
<importTransformationURI/>
<logLevel>USER</logLevel>
<logFolder/>
<authorizationMode>NO_CHECK</authorizationMode>
<filter>677869876769097980</filter>
</FilterDefinition>
我认为我还必须匹配格式字符才能获得我想要的结果。
【问题讨论】:
-
使用空格避免空白输入:
<xsl:strip-space elements="*"/> -
你可能还需要
<xsl:output method="xml" indent="yes" />。
标签: xml xslt code-formatting