在xml序列化期间将每个属性放在新行上

假设我有一个DOM对象(或包含xml的字符串)。 是否有可能以某种方式序列化xml,使每个属性出现在新行上?

这是我想要的输出:

   

首选如果解决方案是标准java api的一部分,但我怀疑这样的function在那里不可用,或者我错了?

我在.NET Framework中找到了一个名为NewLineOnAttributes的序列化程序的属性 。 我正在寻找的东西是等价的,但在java中。

DecentXML解析器可以做到这一点。

XOM库有一个Serializer类,您可以覆盖它以您想要的任何格式输出。

我不知道提供该特定function的任何XML API for Java。 我已经检查了JDOM和XOM的源代码,它们都在同一行上打印属性,并没有提供特定的钩子来覆盖它。

XOM和JDOM都有用于序列化XML的特定类(分别是XMLOutputterSerializer ),并且这两个类都有用于处理属性序列化的保护或公共方法,因此,如果您愿意,可以将这些类子类化并覆盖适当的类。根据需要控制属性格式的方法。

至于标准的Java API,但是,忘记它,那东西是非常讨厌的。