gpt4 book ai didi

java - 正确打印多行 xml 节点

转载 作者:行者123 更新时间:2023-12-01 04:48:54 24 4
gpt4 key购买 nike

我有一个 Java 应用程序,它从具有如下多行文本节点的网站获取 xml 文件:

<root>
<node>info</node>
<mlnode>some
multi
line
text</mlnode>
</root>

我的代码目前如下所示:

    Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xml)));
NodeList nList = doc.getElementsByTagName("mlnode");
Node nNode = nList.item(0);

System.out.println(nNode.getTextContent());

遗憾的是,这段代码将我的多行内容放入一行:somemultilinetext。我想保留换行符。我希望在所有操作系统(主要是 Windows 和 Linux)上保留换行符。

我该怎么做?

编辑:这个问题与正确缩进无关。它只是在节点内容中保留换行符。将换行符保留在原来的位置非常重要,因为该节点的内容是配置文件的一部分,必须用换行符分隔。
我不关心正确的缩进(如果我关心的话:我知道 SO 和其他论坛上有足够的资源来解释如何正确缩进)。

最佳答案

正在解析换行符并按原样输出。

您的源 XML 似乎没有 Windows 所需的两个行尾字符。我猜你必须找到换行符(“\n”)并将其替换为回车符和换行符(“\r\n”)。

由于额外的“\r”在Unix系统上会显示为^M,因此您应该检测JVM中的操作系统,确保它是Windows并进行替换。

关于java - 正确打印多行 xml 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351768/

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