gpt4 book ai didi

Java 风格 XML 每行一个节点且无空格

转载 作者:行者123 更新时间:2023-12-02 08:13:51 26 4
gpt4 key购买 nike

在 java 中从 xml 中添加和删除元素时,只是愚弄于删除空格,但将每个节点保留在 xml 文档中自己的行上,并且我在理解 XML 样式表时遇到了困难。

这是迄今为止发生的事情。

首先我有以下 XML,

<jobs>
<job>Job 1</job>
<job>Job 2</job>
<job>Job 3</job>
<job>Job 4</job>
</jobs>

然后我删除其中一个元素,它最终看起来像这样,元素所在的位置有空白,

<jobs>
<job>Job 1</job>

<job>Job 3</job>
<job>Job 4</job>
</jobs>

所以我尝试应用我找到的以下样式表,

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" omit-xml-declaration="yes"/>

<xsl:strip-space elements="*"/>

<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

这使得 xml 出现在一行上,因为它删除了所有空格。但我也试图保持文件可读。

<jobs><job>Job 1</job><job>Job 2</job><job>Job 3</job><job>Job 4</job></jobs>

我想知道是否有人有样式表来实现此目的?

最佳答案

您需要添加indent="yes"<xsl:output :

<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>

(此外,您可能想切换到 XSL 版本 2.0)

希望这有帮助

关于Java 风格 XML 每行一个节点且无空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6825973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com