6

我正在使用 apache commons 配置 XMLConfiguration 来构建和保存 XML 文件。保存时没有格式化。我得到类似的东西:

<root>
<node>
<child>
</child>
</node>
</root>

我知道有很多方法可以使用其他库来获取该输出并对其进行格式化,但是肯定有一种方法可以设置一些简单的东西,比如从公共配置中缩进?

4

2 回答 2

10

遇到了同样的问题。虽然这个问题是很久以前提出的,但想分享一个解决方案:

XMLConfiguration 类有一个名为 createTransformed 的受保护方法。它应该通过正确的缩进配置来扩展和设置。

public class ExtendedXMLConfiguration extends XMLConfiguration
{
    public ExtendedXMLConfiguration(File file) throws ConfigurationException
    {
        super(file);
    }

    @Override
    protected Transformer createTransformer() throws TransformerException {
        Transformer transformer = super.createTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
        return transformer;
    }
}
于 2013-04-25T09:39:43.693 回答
-2

你可以参考这个threads,它提供了很多简单的方法来处理Java中的xml格式。

于 2011-04-23T02:03:46.173 回答