让 Element.toXML() 正确缩进,而不是仅将结果字符串显示为一行?

发布于 2024-12-20 14:11:35 字数 382 浏览 1 评论 0原文

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

示例:

这就是我想要得到的

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

,这就是我现在得到的:

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

谢谢

The default behavior of Element.toXML() seems to be showing up the result as a single line. Is it possible to have it show the result in multiple lines, in a hierarchical way?

Example:

This is what I'd like to get

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

and this is what I'm getting at the moment:

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

Thanks

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

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

发布评论

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

评论(2

烈酒灼喉 2024-12-27 14:11:35

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); 
    }  
}

nu.xom.Serializer is exactly what you need. Here's a usage example:

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); 
    }  
}
星星的轨迹 2024-12-27 14:11:35

看来您想要漂亮的打印输出。使用 Xom 执行此操作应该很容易,请尝试之前的答案,它可能会有所帮助。

Seems like you want a pretty print output. Doing that with Xom should be easy, try this previous answer, it may be helpful.

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