我使用jdom SAXBuilder来获取XML文档。 我的问题是,在返回的文档中,每个元素前面都有一个行分隔符('/ n')。 我查看了jdom文档,看起来这是解析器的正常行为。 我想避免它,但我找不到方法。 任何提示都将不胜感激。 弗拉维奥
答案 0 :(得分:0)
你在哪里看到\ n字符?如果它们是输入的一部分,则JDOM将自动保留它们,当您输出JDOM内容时,它们仍将存在。如果要更改数据的输出方式,可以使用“格式”实例更改输出格式。
如果你想让输出没有\ n字符,那么你应该使用Format.getCompactFormat()格式......但是请注意 - 如果你使用新的JDOM 2.0.0这有一个bug,你应该使用github上的修补程序zip:https://github.com/downloads/hunterhacker/jdom/jdom-2.x-issue72.zip。 JDOM-2.0.1将在下周左右发布官方修复程序。
如果要删除\ n字符作为输入/解析过程的一部分,那么您应该考虑使用自己的JDOMFactory实例(子类DefaultJDOMFactory)并覆盖文本(...)方法以修剪文本之前返回Text实例。
否则,在解析XML之后,您可以扫描整个树并根据需要设置\ n字符。
否则,除非您要求,否则JDOM不会添加\ n字符。