XML Dokument manipulieren

Hallo zusammen,
Ich stehe wieder mal auf dem Schlauch.

Ich habe ein XML Dokument das wie folgt aussieht:

Testdaten

Daraus möchte ich nun zwei Dokumente machen:

Testdaten

Das XML-Dokument wird mir als String geliefert und ich möchte daraus auch zwei Strings erzeugen.

Ich verwende 1.3 d.h. RegEx stehen nicht zur Verfügung.
Schön wäre es mit DOM.

Vielen Dank für eure Hilfe.

Viele Grüsse
Simon

Hallo Simon,

Ich würde in etwa so lösen:

  1. suche position von ‚‘
  2. schreibe xml.substring(0,position) in BufferedWriter_1
    //snipp
    String txt = xml.substring(0,position);
    BufferedWriter f = new BufferedWriter(new FileWriter(filename,true));
    f.write( txt , 0 , txt.length() );
    f.close();
    //snap
  3. xml-Str=xml.substring(position + 6) //länge ‚‘
  4. suche position von ‚‘
  5. schreibe xml.substring(0,position) in BufferedWriter_2
  6. xml-Str=xml.substring(position + 7) //länge ‚‘
    und zurück zu 1.

Gutes Gelingen!
Marc

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Marc,

Vielen Dank für Deine Hilfe!

Wie würde es aber aussehen, wenn man das mit einem DOM-Parser (XERCES oder so) lösen würde?

Viele Grüsse
Simon

Hi.

Das Package gnu.regexp
http://www.cacas.org/java/gnu/regexp/

ist laut beschreibung auch mit deiner Java-Version lauffähig. Dh. dass du schon regular Expressions nutzen kannst. Die Verwendung ist imho auch sehr einfach:

String resource = "123456";
String result = "";
try {
 gnu.regexp.RE re = new gnu.regexp.RE("(.\*?)");
 gnu.regexp.REMatch reMatch = re.getMatch(resource);
 result = reMatch.toString(1);
} catch (Exception e) {}
System.out.oder.was.auch.immer.println(result);

Ob Packages wie z.B. dom4j+xerces auch unter deiner Java-Version laufen, weiss ich nicht. Aber schau einfach mal unter

http://dom4j.org/index.html

Die haben auch ein sehr nettes „Quickstart“ mit ganz geschwinden Bespielen:

http://dom4j.org/guide.html

mfG,

J.P.Jarolim

Hallo,

Vielen Dank. Werde mir dom4j mal anschauen.
Sieht sehr vielversprechend aus.

Viele Grüsse
Simon

Hi Simon,

schau dir doch mal Castor an, ein Framework, welches auf Xerces aufsetzt.
Mithilfe von Castor kannst du unter anderem anhand von XML-Mappings Klassen aus XML-Dateien füllen und auch wieder XML-Dateien schreiben (marshalling).

http://castor.exolab.org

Absolut empfehlenswert!

Ciao, Bill