Hallo Axel,
man darf XML nicht als Text sehen. XML ist die serialisierte Form eines Dokument-Objekts bestehend aus Teil-Objekten, die auch wieder als XML serialisiert werden können. Auf XML mit Text-Funktionen loszugehen ist in etwa so, wie mit einem Hex-Editor auf kompilierten Programmcode loszugehen.
Deshalb würde ich XML auch nie als String weiterbearbeiten, sondern immer nur geparst in Objektform.
Mir ist das schon klar, aber wenn es um komplexes hierrachisches XML geht flüchten sich meine Gedanken immer wieder in Strings (mit nichthirachischem XML wie der Addon.xcu einer Extension, habe ich hingegen keine Schwierigkeiten).
Ich schweife jetzt ab, aber man ein Beispiel das mir schon vor einigen Tagen bei Experimenten aufgefallen ist. Für den folgenden Knoten (draw:frame) gilt nach 'Ansicht' von "com.sun.star.xml.dom.DocumentBuilder" das der enthaltene "draw:image"-Teil kein Unterknoten wäre:
Code: Alles auswählen
<draw:frame draw:name="Grafik2" draw:z-index="3" svg:height="1.143cm" svg:width="1.789cm" svg:y="3.625cm" svg:x="12.966cm" text:anchor-page-number="3" text:anchor-type="page" draw:style-name="fr3">
<draw:image xlink:actuate="onLoad" xlink:show="embed" xlink:type="simple" xlink:href="Pictures/10000000000004000000030010393590.jpg"/>
</draw:frame>
Und das ist wieder etwas was mir nicht einleuchtet, denn die inhaltliche Aussagen von XML ist doch wohl nicht von der Schreibweise abhängig und da ich obigen Ausdruck doch auch schreiben könnte als:
Code: Alles auswählen
<draw:frame draw:name="Grafik2" draw:z-index="3" svg:height="1.143cm" svg:width="1.789cm" svg:y="3.625cm" svg:x="12.966cm" text:anchor-page-number="3" text:anchor-type="page" draw:style-name="fr3">
<draw:image xlink:actuate="onLoad" xlink:show="embed" xlink:type="simple" xlink:href="Pictures/10000000000004000000030010393590.jpg">
</draw:image>
</draw:frame>
IST dort, für mein Verständnis, ein Unterknoten.
Ich gehe nicht davon aus das "com.sun.star.xml.dom.DocumentBuilder" hier einen Fehler macht und ich kann auch nicht ausschliessen das ich selbst etwas falsch gemacht habe, nur solcherart Probleme halten mich auf und machen mich unsicher.[/size]
Das ich im Generellen hingegen überhaupt keine Zweifel habe das es im Grundsatz eigentlich falsch ist hier mit Strings arbeiten zu wollen ist doch überhaupt der Anlass für meinen ursprünglichen Post gewesen (wobei mein spezieller Grund der war das ich annehme das die Bearbeitung mit "com.sun.star.xml.dom.DocumentBuilder" schlichtweg schneller ist (Verarbeitungsdauer zur Laufzeit) als wenn ich auf Stringsbasis arbeite).
Mit Deinem Code muss ich mich jetzt erst einmal auseinandersetzen und das dauert etwas weil ich es nur in meiner Freizeit tun kann, also Antwort wohl erst morgen.
Schon jetzt scheinen mir aber Deine Beispiele 1 und 2 viel anregender als die eigentliche Antwort auf meine Frage (also Dein erster Code-Schnipsel).
Gruß
Stephan