Mehrere XML-Dateien einlesen und unterscheiden

Hallo,

ich möchte mehrere XML-Dateien einlesen und habe dazu zwei Fragen:

  1. Frage
    Sollte ich da einfach mehrere Documents aufmachen, also das Folgende mehrfach:

    Document document1 = null;
    try {
    DocumentBuilderFactory dbFactory1 =
    DocumentBuilderFactory.newInstance();
    DocumentBuilder builder =
    dbFactory1.newDocumentBuilder();
    document1 = builder.parse(new File(„file.xml“));
    document1.normalize();
    }
    catch (Exception e) {

    }
  2. Frage
    Wie unterscheide ich gleiche Elemente?
    Beispiel
<?xml version='1.0' encoding='utf-8'?>

Das Tag BelegNummer kommt mehrfach vor. Durch die Unterscheidung in mehrere Documents ist die Sache klar.
Aber ist das sinnvoll?

Grüße
Ben

was verstehst du mit unterscheiden…mehrere docs…?!?

wenn du verschiedene arten vom gleichen tag brauchst ( für rechnung, des konto,…) versuch es mal mit „XML name space“

oder gibt mal eine bessere beschreibung deines problems…so richtig verstehe ich nicht

Hallo,

das Problem hat sich erledigt. Ich lese die Dateien nacheinander ein und hänge die Nodes in den Baum ein.
Damit hab ich dann die komplette Struktur aus allen XML-Dateien im Speicher stehen.

Vielen Dank noch für die rasche Antwort.

Grüße
Ben

warum so umständlich?!?

benutze XInclude,
denn dann brauchst du nur ein (Master-Dokument) einlesen und die restlichen XML Files werden automatisch eingelesen. Voraussetzung ist, dein Parser unterstützt das XIncludes. Was bei allen gängigen Parsern (z.B. Xerces) der Fall ist.

hier schau dir mal die Referenz an.
http://www.w3.org/TR/2004/PR-xinclude-20040930/

Das Ganze ist total simpel eingebaut und funktioniert garantiert performanter als eine Eigenlösung.

hier mal ein kleines Tutorial (nicht umfassend aber als Ideen Anregung wunderbar):
http://www.xml.com/pub/a/2002/07/31/xinclude.html