DOMParser - Lösung zu der EA3 PDF

Title DOMParser - Lösung zu der EA3
Author Gerhard Wauer
Course Betriebliche Informationssysteme
Institution FernUniversität in Hagen
Pages 4
File Size 60.3 KB
File Type PDF
Total Downloads 62
Total Views 144

Summary

Lösung zu der EA3...


Description

MyDOMParser.java 1 package aufgabe5; 2 3 import java.io.File; 4 5 import javax.xml.parsers.DocumentBuilder; 6 import javax.xml.parsers.DocumentBuilderFactory; 7 import javax.xml.transform.Transformer; 8 import javax.xml.transform.TransformerFactory; 9 import javax.xml.transform.dom.DOMSource; 10 import javax.xml.transform.stream.StreamResult; 11 12 import org.w3c.dom.Document; 13 import org.w3c.dom.Element; 14 import org.w3c.dom.NamedNodeMap; 15 import org.w3c.dom.Node; 16 import org.w3c.dom.NodeList; 17 18 public class MyDOMParser { 19 20 private static void printNodes(NodeList nodelist){ 21 22 23 Node tmpNode, node; 24 NamedNodeMap nodeMap; 25 for for(int int i=0; i < nodelist.getLength(); i++){ 26 27 28 tmpNode = nodelist.item(i); 29 if if(tmpNode.getNodeType() == Node. ELEMENT_NODE){ 30 31 if if(tmpNode.getChildNodes().getLength() == 1) 32 System. out .println(tmpNode.getNodeName() + ": " + tmpNode.getTextContent()); " + else System. out .println("\n 33 tmpNode.getNodeName() + "\n"); 34 if (tmpNode.hasAttributes()){ 35 36 37 nodeMap = tmpNode.getAttributes(); for for(int int j=0; j < nodeMap.getLength(); j++){ 38 39 40 node = nodeMap.item(j); 41 System. out .println(node.getNodeName() + ": " + node.getNodeValue()); Page 1

MyDOMParser.java 42 43 44 45 46

}

} }//if if if(tmpNode.hasChildNodes()) printNodes (tmpNode.getChildNodes()); 47 }//for 48 49 50 } 51 private static void addLeistungsnachweis(Document doc,String 52 KursNr, String Erg, String Dat, String Ver){ 53 54 Element Kurs = doc.createElement("Kurs"); 55 Element Ergebnis = doc.createElement("Ergebnis"); 56 Element Datum = doc.createElement("Datum"); 57 Element Versuche = doc.createElement("Versuche"); 58 59 Kurs.setAttribute("KursNr", "31844"); 60 Ergebnis.setAttribute("Darstellung", "Note"); 61 62 Ergebnis.appendChild(doc.createTextNode(Erg)); 63 Datum.appendChild(doc.createTextNode(Dat)); 64 Versuche.appendChild(doc.createTextNode(Ver)); 65 66 Kurs.appendChild(Ergebnis); 67 Kurs.appendChild(Datum); 68 Kurs.appendChild(Versuche); 69 70 Node Leistungsnachweise = doc.getElementsByTagName ("Leistungsnachweise").item(0); 71 Leistungsnachweise.appendChild(Kurs); 72 73 } 74 private static void changeKontodaten(Document doc, String 75 Inhaber, String KntNr, String BLZ){ 76 77 Node Kontodaten = doc.getElementsByTagName ("Kontodaten").item(0); 78 NamedNodeMap attr = Kontodaten.getAttributes(); 79 Node nodeAttr = attr.getNamedItem("Inhaber"); 80 nodeAttr.setNodeValue(Inhaber); 81 Page 2

MyDOMParser.java 82 83 84 85 86 87 88 89 91 93 94 95 96 97

Node KontoNr = doc.getElementsByTagName("KntNr").item(0); KontoNr.setNodeValue(KntNr); Node blz = doc.getElementsByTagName("BLZ").item(0); blz.setNodeValue(BLZ); } * @param args public static void main(String[] args) { try try{

File xmlFile = new File("/Users/MacBook_Pro/Studium Wirts-Info/SoSe13/Betriebliche InfSys/JavaWorkspace/BI-EA3/ Student.xml"); 98 File xmlFileTarget = new File("/Users/MacBook_Pro/ Studium Wirts-Info/SoSe13/Betriebliche InfSys/JavaWorkspace/BI-EA3/ Student_neu.xml"); // Ziel für neuen XML-File 99 100 DocumentBuilderFactory dbfactory = DocumentBuilderFactory. newInstance(); 101 DocumentBuilder dBuilder = dbfactory.newDocumentBuilder (); 102 Document doc = dBuilder.parse(xmlFile); 103 104 doc.getDocumentElement().normalize(); 105 106 System. out .println("XML-Dokument " + doc.getDocumentElement().getNodeName()); 107 System. out .println("-------------------------------"); 108 if if(doc.hasChildNodes()) printNodes(doc.getChildNodes 109 ()); 110 111 // neuen Leistungsnachweis einfügen addLeistungsnachweis(doc, "31874", "2.7", "21.06.2012", 112 "2"); 113 // Kontodaten ändern 114 changeKontodaten(doc, "Björn Kehmen", "44667883", 115 "89045000"); 116 printNodes(doc.getChildNodes()); 117 118 Page 3

MyDOMParser.java 119 120 121 122

//Datei als XML-file speichern TransformerFactory transformerFactory = TransformerFactory. newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(xmlFileTarget); transformer.transform(source, result);

123 124 125 126 127 128 129 130 131 132 133 } 134

}catch catch (Exception e){ e.printStackTrace(); } }

Page 4...


Similar Free PDFs