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

发布于 2024-08-02 02:36:56 字数 520 浏览 5 评论 0原文

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

这是我想要的输出:

<parent>
    <anElement 
        attrOne="1"
        attrTwo="2"
        attrThree="3"
    />
</parent>

如果解决方案是标准 java api 的一部分,则首选,但我怀疑那里没有这样的功能,还是我错了?

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

Lets say I have a DOM object (or a string containing xml). Is it in any way possible to serialize the xml in such a way that each attribute appears on a new line?

This is the output I want:

<parent>
    <anElement 
        attrOne="1"
        attrTwo="2"
        attrThree="3"
    />
</parent>

Preferred if the solution a part of the standard java api, but I suspect such a feature is not available in there, or am I wrong?

I found a property for a serializer in the .NET Framework, called NewLineOnAttributes. What I am searching for is something equivalent, but in java.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

就此别过 2024-08-09 02:36:56

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

The DecentXML parser can do this.

一世旳自豪 2024-08-09 02:36:56

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

The XOM library has a Serializer class which you can override to output in whatever format you want.

静赏你的温柔 2024-08-09 02:36:56

我不知道有任何 Java 的 XML API 可以提供这种特定的功能。 我检查了 JDOM 和 XOM 的源代码,它们都在同一行上打印属性,并且没有提供用于覆盖它的特定钩子。

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

不过,至于标准 Java API,算了,那东西相当讨厌。

I don't know of any XML API for Java that provides that specific ability. I've checked the source code for JDOM and XOM, and they all print attributes on the same line, and provide no specific hooks for overriding that.

Both XOM and JDOM do have specific classes for serializing XML (XMLOutputter and Serializer, respectively), and both classes have protected or public methods for handling the serialization of attributes, so you could, if you wanted to, subclass those classes and override the appropriate methods to control your attribute formatting as you want it.

As for the standard Java API, though, forget it, that stuff is pretty nasty.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文