Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
XDocument bekommen einen Node #Text zurück
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

Themenstarter:

XDocument bekommen einen Node #Text zurück

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3.003
Herkunft: Thüringen

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers