2008-10-02 18 views
28

Varolan bir XML dosyasını açmak için org.w3cXML API kullanıyorum. Bazı düğümleri kaldırıyorum ve bunun yerine başkalarını ekliyorum.Java: Bir XML dosyasına bir DOM yazma (biçimlendirme sorunları)

sorun eklenen yeni düğümler hiçbir yeni satır ve ne kadar şimdiye hiçbir girinti ile, birbiri ardına yazılır olmasıdır. XML dosyasının geçerli olması doğru olsa da, bir insanın bunu incelemesi çok zordur.

her düğüm sonra girinti ya da en azından bir yeni satır eklemek için yine de var mı?

+0

Bu soruya, Java'da nasıl oldukça güzel bir şekilde XML yazdırılacağını öğrenmek için kod örnekleri arıyorsanız [bkz. Java'dan nasıl xml yazdırılacağı] (http://stackoverflow.com/questions/139076/how-to-pretty -print-xml-from-java) yerine. –

cevap

55

Sana (a StreamResult kadar) gerçek bir yazma yapmak için bir Transformer kullandığınız varsayıyorum. Eğer transform aramadan önce Bu durumda, bunu:

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

Yardım etmekten memnun oldum! –

+6

BTW: En son jdk'de daha önce yapmanız gereken bir hata vardır: TransformerFactory tFactory = TransformerFactory.newInstance(); tFactory.setAttribute ("girinti-numarası", 2); Sahip olduğum sorunları düzeltmeyi başaran – Karussell

+0

Cheers @Karussell – Hayden

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

yılında "oldukça baskı" birkaç iyi örnekler vardır kaynak How to pretty print XML from Java?

İlgili konular