Guten Tag,
Wie im Titel, schreibe ich ein JAVA-Programm welchen innerhalb eines Ordners, alle XML Dateien ausliest und vorgegebene Elemete ausgeben soll. Hier ist der Code
In der Konsole gibt er dann wie er sollte zu Beispiel:
Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn/mbue88ggn_-_0000001126.20110624_-_1001+0200.xml
Root: PGWRecord
JEDOCH erhalte ich bei verschiedenen XML dann diese Meldung:
Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn/mbue88ggn_-_0000001130.20110624_-_1121+0200.xml[Fatal Error] mbue88ggn_-_0000001130.20110624_-_1121+0200.xml:77:2: The markup in the document following the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at Directory.main(Directory.java:43)
Die XML Dateien sind jedoch alle gleich aufgebaut und ein paar liest er gut aus wie im ersten Beispiel und ein paar fehlerhaft wie im unteren Beispiel.
Hier sind die beiden XML Dateien, damit Ihr sie mal anschauen könnt.
Die die er sauber liest: mbue88ggn_-_0000001126.20110624_-_1001+0200.xml
Die die er fehlerhaft ausgibt: mbue88ggn_-_0000001130.20110624_-_1121+0200.xml
Wisst Ihr warum? und wie kann ich weitermachen, damit ich anderen Elemente der XML Datei ausgeben kann. Ich stehe gerade auf dem Schlauch DANKE
Wie im Titel, schreibe ich ein JAVA-Programm welchen innerhalb eines Ordners, alle XML Dateien ausliest und vorgegebene Elemete ausgeben soll. Hier ist der Code
Java:
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class Directory {
/**
* @param args
*/
public static void main(String[] args) {
File dir = new File("Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn");
String[] children = dir.list();
if (children == null) {
// Either dir does not exist or is not a directory
System.out.println("Error : Either dir does not exist or is not a directory");
} else {
for (int i=0; i<children.length; i++) {
// Code for XML
String filename = "Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn/" + children[i];
System.out.println(filename);
File currentXMLfile = new File(filename);
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db;
db = dbf.newDocumentBuilder();
Document doc = db.parse(currentXMLfile);
doc.getDocumentElement().normalize();
System.out.println("Root: "
+ doc.getDocumentElement().getNodeName() + "\n");
NodeList nodeLst = doc.getElementsByTagName("PGWRecord");
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
In der Konsole gibt er dann wie er sollte zu Beispiel:
Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn/mbue88ggn_-_0000001126.20110624_-_1001+0200.xml
Root: PGWRecord
JEDOCH erhalte ich bei verschiedenen XML dann diese Meldung:
Z:/Documents and Settings/tgdcaand/Desktop/cdr_storage_mbue88ggn/cdr_storage_mbue88ggn/mbue88ggn_-_0000001130.20110624_-_1121+0200.xml[Fatal Error] mbue88ggn_-_0000001130.20110624_-_1121+0200.xml:77:2: The markup in the document following the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at Directory.main(Directory.java:43)
Die XML Dateien sind jedoch alle gleich aufgebaut und ein paar liest er gut aus wie im ersten Beispiel und ein paar fehlerhaft wie im unteren Beispiel.
Hier sind die beiden XML Dateien, damit Ihr sie mal anschauen könnt.
Die die er sauber liest: mbue88ggn_-_0000001126.20110624_-_1001+0200.xml
Die die er fehlerhaft ausgibt: mbue88ggn_-_0000001130.20110624_-_1121+0200.xml
Wisst Ihr warum? und wie kann ich weitermachen, damit ich anderen Elemente der XML Datei ausgeben kann. Ich stehe gerade auf dem Schlauch DANKE