3

DOM オブジェクト (または xml を含む文字列) があるとします。各属性が新しい行に表示されるように xml をシリアル化することは可能ですか?

これは私が望む出力です:

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

ソリューションが標準の Java API の一部である場合に推奨されますが、そのような機能が利用できないと思われますか、それとも間違っていますか?

NewLineOnAttributesという .NET Framework のシリアライザーのプロパティを見つけました。私が探しているのは同等のものですが、Java.

4

3 に答える 3

1

DecentXMLパーサーはこれを行うことができます。

于 2009-08-12T10:43:47.040 に答える
0

XOMライブラリにはSerializerクラスがあり、これをオーバーライドして、任意の形式で出力できます。

于 2009-08-12T10:00:09.313 に答える
0

そのような特定の機能を提供する XML API for Java を私は知りません。JDOM と XOM のソース コードを確認しましたが、それらはすべて同じ行に属性を出力し、それをオーバーライドするための特定のフックを提供していません。

XOM と JDOM の両方に、XML を直列化するための特定のクラス (それぞれXMLOutputterSerializer) があり、両方のクラスには、属性の直列化を処理するための protected メソッドまたは public メソッドがあるため、必要に応じて、これらのクラスをサブクラス化し、適切なメソッドをオーバーライドして、必要に応じて属性の書式を制御します。

ただし、標準の Java API については忘れてください。

于 2009-08-12T10:18:09.153 に答える