Java w3c dom的合龙与格式化输出

Java w3c dom的合并与格式化输出
遇到需要将几个W3C标准的Document文档简单合并,一个主文档,其他的文档并列按照顺序放在主文档的孩子节点上就行了。。。

    

public static void combinDocument(Document root,List<Document> targets){
		for(Document d:targets){
			root.getFirstChild().appendChild(
					root.adoptNode(d.getDocumentElement()));
		}		
	}
为了便于调试,需要将合并的文档格式化输出,其中主要遇到了缩进的问题。找到个属性,设置下搞定。

  

public static String toString(Document doc) throws TransformerFactoryConfigurationError, TransformerException{
		 DOMSource source = new DOMSource(doc);
         StringWriter writer = new StringWriter();
         Result result = new StreamResult(writer);
         Transformer transformer = TransformerFactory.newInstance().newTransformer();
         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
         transformer.setOutputProperty(OutputKeys.CDATA_SECTION_ELEMENTS, "yes");
       transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");        transformer.transform(source, result);
         return (writer.getBuffer().toString());
	} 


transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

原文出自:http://charyle.iteye.com/blog/1193846