0

我使用 jdom SAXBuilder 来获取 XML 文档。我的问题是在返回的文档中,每个元素前面都有一个行分隔符('/n')。我查看了 jdom 文档,似乎这是解析器的正常行为。我想避免它,但我找不到路。任何提示将不胜感激。弗拉维奥

4

1 回答 1

0

您在哪里看到 \n 字符?如果它们是输入的一部分,那么 JDOM 将自动保留它们,并且当您输出 JDOM 内容时它们仍然存在。如果要更改数据的输出方式,可以使用“格式”实例来更改输出格式。

如果您希望输出没有 \n 字符,那么您应该使用 Format.getCompactFormat() 格式...但请注意 - 如果您使用的是新的 JDOM 2.0.0 这有一个错误,您应该使用修补程序github 上的压缩包:https ://github.com/downloads/hunterhacker/jdom/jdom-2.x-issue72.zip 。JDOM-2.0.1 将在下周左右发布官方修复。

如果您想在输入/解析过程中去除 \n 字符,那么您应该考虑使用自己的 JDOMFactory 实例(子类 DefaultJDOMFactory)并覆盖 text(...) 方法以在返回 Text 之前修剪文本实例。

否则,在解析 XML 之后,您可以扫描整个树并根据需要添加 \n 字符。

否则,除非您要求,否则 JDOM 不会添加 \n 字符。

于 2012-04-21T19:08:47.877 回答