Hallo Java-Freunde,
ich möchte mit SAX-Parser Daten aus XML-Datei lesen.
Aber ich habe ein Problem und zwar: XML-Daten von Elementen mit gleicher Name mit SAX auszulesen.
Beispiel:
<person>
<mitarbeiter>
<name>Krause</name>
<age>42</age>
<adress typ=email> krause@tutorials.de</adress>
</mitarbeiter>
<mitarbeiter>
<name>Ullrich</name>
<age>27</age>
<adress typ=post>ruhrweg 12, 23112 Kiel</adress>
</mitarbeiter>
</person>
Da sax-reader xml-dokumente sequentiell durchlauft, wie programmiere ich es mit java damit ich sowohl die <name> als auch die <adresse> von beiden Mitarbeitern auslese und wiedergebe? Danke schön, Daniel.
Hier ist schon der Anfang meiner java-Quellcode:
public class XmlLeser implements ContentHandler {
public XmlLeser(String fileName) {
try {
XMLReader myParser = new SAXParser();
)
myParser.setContentHandler(this); myParser.parse(fileName); // starten zum Parsen
} catch (Exception e) {System.out.println("Erreur " + e); }
} // Ende des Konstructors
public static void main(String args[]) {
String xmlFileName = "";
if (args.length == 0) {
System.out.println("Usage::java XmlLeser path/xmlFilename");
System.exit(0);
} else {xmlFileName = args[0];}
XmlLeser pux = new XmlLeser(xmlFileName);
} // end main()
//****************************************HANDLER****************************************
public void startDocument() {
System.out.println(" Anfang des Parsens " );
} // startDocument()
public void endDocument() {
System.out.println(" Ende des Parsens " );
} // endDocument()
public void startElement(String namespaceURI, String localName, String qName) throws SAXException { //WIE GEHT ES WEITER? }
public void endElement(String namespaceURI, String localName, String qName) throws SAXException { //WIE GEHT ES WEITER? }
public void processingInstruction(String target, String data) { }
} //end class
ich möchte mit SAX-Parser Daten aus XML-Datei lesen.
Aber ich habe ein Problem und zwar: XML-Daten von Elementen mit gleicher Name mit SAX auszulesen.
Beispiel:
<person>
<mitarbeiter>
<name>Krause</name>
<age>42</age>
<adress typ=email> krause@tutorials.de</adress>
</mitarbeiter>
<mitarbeiter>
<name>Ullrich</name>
<age>27</age>
<adress typ=post>ruhrweg 12, 23112 Kiel</adress>
</mitarbeiter>
</person>
Da sax-reader xml-dokumente sequentiell durchlauft, wie programmiere ich es mit java damit ich sowohl die <name> als auch die <adresse> von beiden Mitarbeitern auslese und wiedergebe? Danke schön, Daniel.
Hier ist schon der Anfang meiner java-Quellcode:
public class XmlLeser implements ContentHandler {
public XmlLeser(String fileName) {
try {
XMLReader myParser = new SAXParser();
)
myParser.setContentHandler(this); myParser.parse(fileName); // starten zum Parsen
} catch (Exception e) {System.out.println("Erreur " + e); }
} // Ende des Konstructors
public static void main(String args[]) {
String xmlFileName = "";
if (args.length == 0) {
System.out.println("Usage::java XmlLeser path/xmlFilename");
System.exit(0);
} else {xmlFileName = args[0];}
XmlLeser pux = new XmlLeser(xmlFileName);
} // end main()
//****************************************HANDLER****************************************
public void startDocument() {
System.out.println(" Anfang des Parsens " );
} // startDocument()
public void endDocument() {
System.out.println(" Ende des Parsens " );
} // endDocument()
public void startElement(String namespaceURI, String localName, String qName) throws SAXException { //WIE GEHT ES WEITER? }
public void endElement(String namespaceURI, String localName, String qName) throws SAXException { //WIE GEHT ES WEITER? }
public void processingInstruction(String target, String data) { }
} //end class