有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从XSL输出缩进中排除某些元素?

我需要转换一个xml文档,并且我希望格式化输出,所以我使用<xsl:output indent="yes" />。但我希望一个特定的元素不缩进。例如,我的xml(在任何转换后,如删除元素等)是未格式化的,如下所示:

<root><code><run><formula>xyz</formula></code></root>

随着<xsl:output indent="yes" />I获得如下输出:

<root>
<code>
<run>
<formula>xyz</formula>
</run>
</code>
</root>

我正在寻找这样的输出:

<root>
<code>
<run><formula>xyz</formula></run>
</code>
</root>

基本上,我不希望<run>(以及其中的元素)格式化

这可以通过XSL实现吗?或者我需要在XSL转换之后解析文件,以便在<run>之后和</run>之前删除\n

(注意:我的xml很大,包含数百个元素。以上只是一个示例) (注2:我使用的是java,因此使用java标记)


共 (1) 个答案

  1. # 1 楼答案

    XSLT 3.0允许您说<xsl:output indent="yes" suppress-indentation="run"/>。为此,您需要切换到XSLT 3.0处理器,在Java世界中,这意味着Saxon