设置输出XML文件中的行宽和文件类型。
设置输出XML文件中的行宽和文件类型。
注意到一些现有的代码读取和写入一个简单的XML文件(由DTD定义),使用了已弃用的类。希望用非废弃的类替换以下内容。由于使用的是Java 6,希望使用包含在XML处理中的包,而不是第三方工具(尽管像jdom这样的标准工具也是可能的)。
OutputFormat format = new OutputFormat( doc ); format.setLineWidth( 100 ); format.setIndenting( true ); format.setIndent( 2 );
下面是一个使用在各种SO答案中提到的TransformerFactory的尝试。上面指定缩进似乎并不难,尽管没有那么明显。但如何指定行长度呢?
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格式。有比这更好的方法吗?这是一个相当简单的文件,不需要太多的格式化,只是希望它能被人和程序阅读。