2

を使用して、をファイルjavax.xml.parsers.DocumentBuilderに書き込みたい。org.w3c.dom.Document

空の要素がある場合、デフォルトの出力は折りたたまれています:

<element/>

要素が折りたたまれないように、この動作を変更できますか? すなわち:

<element></element>

ご協力いただきありがとうございます。

4

1 に答える 1

2

これは実際には、ドキュメントをファイルに書き込む方法に依存し、DOM 自体とは関係ありません。次の例では、一般的な Transformer ベースのアプローチを使用しています。

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 宣言が欠落するなど、他の副作用があることに注意してください。

于 2013-10-06T14:51:20.390 に答える