2013-10-06 60 views
1

我使用javax.xml.parsers.DocumentBuilder,並且想要將org.w3c.dom.Document寫入文件。Java XML DOM:防止崩潰空元素

如果有一個空元素,默認的輸出是一個崩潰:

<element/> 

我可以改變這種行爲,這樣是不會倒塌的元素? I .: .:

<element></element> 

感謝您的幫助。

回答

1

這實際上取決於您如何將文檔寫入文件並與DOM本身無關。下面的示例使用流行的基於變壓器的方法:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
Document document = factory.newDocumentBuilder().newDocument();    
Element element = document.createElement("tag");        
document.appendChild(element);            
TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
Transformer transformer = transformerFactory.newTransformer();    
transformer.setOutputProperty(OutputKeys.METHOD, "html");     
DOMSource source = new DOMSource(document);         
StreamResult result = new StreamResult(System.out);       
transformer.transform(source, result);         

它輸出<tag></tag>如你期待。請注意,更改輸出方法有其他副作用,如缺少XML聲明。

+0

請參閱transformer.setOutputProperty(OutputKeys.METHOD,「html」); –