Laden...

XDocument bekommen einen Node #Text zurück

Erstellt von LastGentleman vor 14 Jahren Letzter Beitrag vor 14 Jahren 949 Views
LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 14 Jahren
XDocument bekommen einen Node #Text zurück

verwendetes Datenbanksystem:XML (System.XML.XmlDocument)

Hallo,

ich lese mit einem XMLDocument ein XML Dokument aus.
Das ganze hat einen generischen Ansatz und ich fahre Rekursiv durch das XML Dokument durch

Also ich lade das XMLDocument und holle mit doc.ChildNodes alle ChildNodes

dummerweise ist der Inhalt (value) in <tag>Mein Inhalt</tag> nicht im Node sondern in einem ChildNode mit dem Namen #TEXT.

Ist das so richtig, warum #TEXT.... Bin da leicht verwirrt. Kennt jemand eine Erklärung zu diesem Phänomen?

Liebe Grüße aus Österreich
LastGentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

3.003 Beiträge seit 2006
vor 14 Jahren

Zeichenketten-Werte können nur in XML-Knoten vom Typ "Text" als deren Value gespeichert werden. Die Knotenstruktur von


<myNode>hello, world</myNode>

ist dementsprechend:


<element type="node">
   <name>myNode</name>
   <value>
      <element type="text">
         <name>#Text</name>
         <value>hello, world</value>
       </element>
   </value>
</element>

Dementsprechend greifst du auf "hello, world" zu per


var myNode = xml.DocumentElement.SelectSingleNode("/mynode");
string myText = myNode.FirstChild.Value;

Hoffe, es verwirrt nicht, dass ich die Erklärung wieder als XML geschrieben hab 😉.

Schau dir eine beliebige HTML-Seite mal mit dem DOM-Inspector vom Firefox an.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 14 Jahren

Danke LaTino,

das erklärt das Verhalten natürlich.

Hab es nun so gelöst das ich wenn ich einen Node habe, hergehe und schaue ob es diese Typ von untereinträge habe, diesen dann auslese und in meine Domain Struktur lade.

Recht lieben Danke für die Info
LastGentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein