1

的默认行为Element.toXML()似乎将结果显示为单行。是否可以让它以分层方式以多行显示结果?

例子:

这就是我想要得到的

<root>
    <Fraction hash="108e898f" />
    <Integer hash="19498483" />
</root>

这就是我现在得到的:

<root><Fraction hash="108e898f" /><Integer hash="19498483" /></root>

谢谢

4

2 回答 2

2

nu.xom.Serializer正是您所需要的。这是一个使用示例

public static void main(String[] args) {
    Element root = new Element("root");  
    Element fraction = new Element("Fraction");
    fraction.addAttribute(new Attribute("hash", "108e898f"));
    root.appendChild(fraction);
    Element integer = new Element("Integer");
    integer.addAttribute(new Attribute("hash", "19498483"));
    root.appendChild(integer);
    Document doc = new Document(root);
    try {
        Serializer serializer = new Serializer(System.out, "ISO-8859-1");
        serializer.setIndent(4);
        serializer.setMaxLength(64);
        serializer.write(doc);  
    } catch (IOException ex) {
        System.err.println(ex); 
    }  
}
于 2011-12-11T22:37:39.043 回答
1

好像你想要一个漂亮的打印输出。用 Xom 做到这一点应该很容易,试试这个以前的答案,它可能会有所帮助。

于 2011-12-11T22:37:56.673 回答