ak vytvaras novy dokument (tiez sa da pouzit aj na existujuce XML)
mrkni ockom na xerces a XMLSerializer
mozes nastavit OutputFormat setIndenting(true);
Roman
Michal Moscovic said:
> Zdravim potrebujem vygenerovat XML, ktore by splnalo pretty printing.
>
> StreamResult streamResult = new StreamResult(printerWriter);
> SAXTransformerFactory transformerFactory =
> (SAXTransformerFactory)SAXTransformerFactory.newInstance();
> TransformerHandler transformerHandler = transformerFactory.
> newTransformerHandler();
> Properties format = new Properties();
> format.put(OutputKeys.METHOD, "xml");
> format.put(OutputKeys.DOCTYPE_SYSTEM, "myfile.dtd");
> format.put(OutputKeys.ENCODING, "UTF-8");
> format.put(OutputKeys.INDENT, "yes");
> format.put("{http://xml.apache.org/xslt}indent-amount", "2");
> transformerHandler.getTransformer().setOutputProperties(format);
> //set response stream to be written by XML output writer
> transformerHandler.setResult(streamResult);
> //start response document
> transformerHandler.startDocument();
> //response tag
> transformerHandler.startElement("", "", "A", emptyAttributes);
> .
> .
> .
> nanestastie vysledkom je
> <A>
> <B>value</B>
> <C>value</C>
> </A>
>
> namiesto
> <A>
> <B>value</B>
> <C>value</C>
> </A>
>
> Verte ze uz som skusil mozne aj nemozne... (mozno ale nevidim pre oci)
> Rad by som pouzil ciste JDK 1.4.2 takze ziadne XMLSerialization a tiez
> by som sa nerad vzdal SAXu... takze ziaden DOM
>
> Vdaka za kazdy napad
> Michal
>