2012-10-08 65 views
0

我已經創建了一個轉換工具來將一些信息添加到現有的xml文件中。 這是通過使用DOM和Transformer類來完成的。 輸出文件將由第三方軟件處理。 此TPS需要長符號表示輸入和輸出文件中的空標記。Java XML Transformer:用長符號表示空元素而不是短

不幸的是,變壓器類總是將它們改爲短符號。 有沒有辦法防止這種情況發生?

我一直在尋找各種網站,但還沒有找到真正適合我需求的解決方案。

請幫幫忙,謝謝 , 親切的問候, 馬騰

回答

1

可以改造DOMStAXResult

例如,

XMLOutputFactory factory=XMLOutputFactory.newFactory(); 
XMLStreamWriter writer=factory.createXMLStreamWriter(System.out); 
StAXResult result=new StAXResult(writer); 
trans.transform(new DOMSource(doc),result); 
+0

有沒有一種方法,只輸出某些部分長符號?特別是,我需要元素始終以長符號輸出,但如果數組中有一個或多個項目,標準Java xml轉換器只會以長符號輸出它們;如果它們是空的,則以簡寫形式輸出它們。 –

0
   XMLOutputFactory factory = XMLOutputFactory.newFactory(); 
       XMLStreamWriter writer = factory.createXMLStreamWriter(System.out); 
       StAXResult result = new StAXResult(writer); 
       TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
       Transformer transformer = transformerFactory.newTransformer(); 
       transformer.transform(new DOMSource(doc), result);