Hi zusammen
Folgendes Problem:
Ich schaue gerade das Thema XML an und soll einen Parser schreiben, welcher mir den Inhalt eines XMLs ausgibt(Baumstruktur). Das ganze soll am besten rekursiv sein.
Als Parser Lib verwende ich xerces.
Nun wird vor jedem Tag 2x #Text ausgegeben. Was soll das? Von wo kommt es? Wie kann ich es umgehen?
Ok, nun herausgefunden, dass es sich hierbei um den Datentyp handelt, jedoch möchte ich nur die Struktur des XML's anzeigen, da sind Datentypen imo unwichtig
Hier mal das XML
Parser:
Ausgabe
Folgendes Problem:
Ich schaue gerade das Thema XML an und soll einen Parser schreiben, welcher mir den Inhalt eines XMLs ausgibt(Baumstruktur). Das ganze soll am besten rekursiv sein.
Als Parser Lib verwende ich xerces.
Nun wird vor jedem Tag 2x #Text ausgegeben. Was soll das? Von wo kommt es? Wie kann ich es umgehen?
Ok, nun herausgefunden, dass es sich hierbei um den Datentyp handelt, jedoch möchte ich nur die Struktur des XML's anzeigen, da sind Datentypen imo unwichtig
Hier mal das XML
Code:
<?xml version="1.0" encoding="UTF-8"?>
<MP3 NAME="DAVID_GUETTA_MP3">
<INTERPRET>
David Guetta
</INTERPRET>
<LENGTH>
3.55
</LENGTH>
<ALBUM>
TESTALBUM
<COVER>
PICTURE
</COVER>
</ALBUM>
<LYRICS>
111111111111111111111111111111111111111111111111111111
</LYRICS>
</MP3>
Parser:
Java:
public class DomParser {
private Document doc;
private DocumentBuilder documentBuilder;
public DomParser(File fileForXML) {
try{
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
documentBuilder = documentBuilderFactory.newDocumentBuilder();
doc = documentBuilder.parse(fileForXML);
System.out.print("Root ist: " + doc.getDocumentElement());
showXMLContent(doc.getDocumentElement());
}
catch (Exception exc) {
exc.printStackTrace();
}
}
public void showXMLContent(Node node){
NodeList childs = node.getChildNodes();
for (int i = 0; i < childs.getLength(); i++) {
System.out.println(childs.item(i).getTextContent());
showXMLContent(childs.item(i));
}
}
public Node getRoot(){
return doc.getDocumentElement();
}
public static void main(String[] args) {
new DomParser(new File("xmlFiles/test.xml"));
}
}
Ausgabe
Code:
Root ist: [MP3: null]#text
INTERPRET
David Guetta
#text
David Guetta
#text
LENGTH
3.55
#text
3.55
#text
ALBUM
TESTALBUM
PICTURE
#text
TESTALBUM
COVER
PICTURE
#text
PICTURE
#text
#text
LYRICS
111111111111111111111111111111111111111111111111111111
#text
111111111111111111111111111111111111111111111111111111
#text
Zuletzt bearbeitet: