Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi CDATA auslesen (https://www.delphipraxis.net/71324-cdata-auslesen.html)

Bomberbb 13. Jun 2006 09:57


CDATA auslesen
 
Hallo,

ich bin ein xml-Neuling und habe nun das Problem, dass ich eine CDATA-Section auslesen will, aber ich habe keine Ahnung wie. Habe auch schon im Net geschaut aber nichts gefunden...

Kann mir wer helfen???

Bomberbb

p.s.: benutze msxml

DGL-luke 13. Jun 2006 10:06

Re: CDATA auslesen
 
Es sollte bei uns mindestens ein Tutorial zu XML geben.

Bomberbb 13. Jun 2006 10:11

Re: CDATA auslesen
 
Ich habe zwar schon tutorial zu xml gefunden, aber leider behandeln diese das Thema CDATA nicht...

MathiasSimmack 16. Jun 2006 06:41

Re: CDATA auslesen
 
Weil es zu dem Thema an sich nichts zu sagen gibt. Wenn du einen Knoten hast wie:
XML-Code:
<Wurzel>
  <Knoten><![CDATA[Hallo, Welt!]]></Knoten>
</Wurzel>
dann bringt an sich jeder vernünftige XML-Parser bei
Delphi-Quellcode:
node := xmldoc.selectSingleNode('/Wurzel/Knoten');
ShowMessage(node.Text);
das Ergebnis "Hallo, Welt!". Du musst diese CDATA-Sektion also beim Lesen nicht weiter berücksichtigen. Einzig beim Schreiben musst du dem Parser in der Regel mitteilen, dass du eine solche Sektion haben willst:
Delphi-Quellcode:
xmldoc.loadXML('<Wurzel>');
cdataDing := xmldoc.createCDATASection('Hallo, Welt!');
node := xmldoc.createElement('Knoten');
node.appendChild(cdataDing);
xmldoc.DocumentElement.appendChild(node);

ShowMessage(xmldoc.xml);
Das ist ein Beispiel für MS XML. Bei anderen Parsern wird es ähnlich gehen. In dem Fall bitte einen Blick in die Hilfe werfen.

Bomberbb 20. Jun 2006 19:05

Re: CDATA auslesen
 
na gut, aber was mache ich, wenn ich so etwas habe...

<Wurzel>
<Knoten><Knoten1>2,00</Knoten1><![CDATA[Hallo, Welt!]]><Knoten2>1,00</Knoten2></Knoten>
</Wurzel>

dann haut das doch mit
node := xmldoc.selectSingleNode('/Wurzel/Knoten');
ShowMessage(node.Text);
nicht hin.

momentan mache ich nun mit einer repeat until schleife. Ich checke die childnodes von Knoten so lange, bis ich einen vom typ CDDATANODE gefunden habe. Ich suche etwas wie

node := xmldoc.selectSingleNode('/Wurzel/CDATA')

Gibt es etws in der Art???

marabu 20. Jun 2006 20:58

Re: CDATA auslesen
 
Es gibt keine Lösung für dein Problem. Vielleicht magst du ein wenig Lesestoff zum Thema?

CDATA Sections

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz