Beruflich Dokumente
Kultur Dokumente
jaxp;
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; import java.util.Map;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;
try { // create a DOM parser DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();
// transform the tree Node orders = doc.getFirstChild(); // gets the root element
NodeList children = orders.getChildNodes(); // gets children of the root Node lastHeader = null; for (int item = 0; item < children.getLength(); item++) { Node node = children.item(item); if ("Header".equals(node.getNodeName())) { lastHeader = node; // store reference to last Header node
} else if ("Line".equals(node.getNodeName())) { orders.removeChild(node); lastHeader.appendChild(node); } } // remove Line node from root // add Line node to last Header
// create transformer for producing XML output TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// create source and result wrappers and perform transformation DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(outputStream); transformer.transform(source, result); } catch (Exception e) { throw new StreamTransformationException("Mapping failed", e); } }