在输出XML中设置行宽和文件类型

时间:2011-07-19 18:57:11

标签: java xml

注意到一些读取和写入简单XML文件(由DTD定义)的现有代码正在使用不推荐使用的类。想要将以下内容替换为不弃用的类。自从使用Java 6以来,希望使用包含在XML处理中的软件包而不是第三方工具(虽然可以使用像jdom这样的标准内容)。

OutputFormat format = new OutputFormat( doc );
format.setLineWidth( 100 );
format.setIndenting( true );
format.setIndent( 2 );

这是尝试使用TransformerFactory,在各种SO答案中提到。指定上面的缩进似乎并不太难,虽然没有预期的那么明显。但是如何指定行长?

TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setAttribute("indent-number", Integer.valueOf(4));
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult result =  new StreamResult(writer);
transformer.transform(source, result);

还注意到文件是使用DOS格式创建的,而上面是unix格式。有比这更好的方法吗?这是一个非常简单的文件,不需要太多格式化,只是希望除了程序之外它还可以被人阅读。

0 个答案:

没有答案