tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
387
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    Hallo auch,

    ich lese mit XmlDocument, also DOM ein XML-File aus (Warum ich nicht den XmlReader nehme ist jetzt mal Nebensache).

    Jetzt latsch ich da rekursiv durch die XmlNodes. In der Rekursivfunktion steckt also eine foreach-Schleife foreach (XmlNode oNode in pXmlNode.ChildNodes).

    Nun will ich den Text jedes Nodes haben, und woanders hintun.

    Gegeben sei sowas wie
    <bla>
    <tralala>bla</tralala><bla2>nummero2</bla2>
    </bla>

    wenn ich jetzt oNode.Name = bla ist und ich InnerText abrufe, gibt er mir

    "blanummero2" aus. Ich möchte aber "" haben, weil <bla> an sich keinen Text enthält, sondern nur seine Unterknoten, die mich aber zu dem Zeitpunkt nicht interessieren. Wie krieg ich das hin?
    dann hab ich noch so tolle Phänomene, dass wenn oNode.Name = tralala ist und ich dann durch oNode.ChildNodes gehe, er einen weiteren Node findet, den es aber gar nicht gibt. Der Name des Tags heißt dann immer "#text". Wie kommt das zustande? den Node gibts doch gar nicht? kann ich den dann mit NodeType rausfiltern?

    Diese Sachen hab ich durch Workarounds ziemlich dirty beheben können, aber es wäre schön, wenn es dafür saubere Lösungen/Erklärungen gibt.

    Nochwas:
    ich habe einen NodeNamen o:Author(Word-XML). In meiner XML-Datei gibt es einen NodeNamen author. Nun latsch ich die Nodes ab und will jedes author-Tag durch o:Author ersetzen. Klappt auch, der NAME des Nodes ist o:Author. Wenn ich das jetzt speichere, zeigt er mir in der XML-Datei aber Author an, weil er o als Prefix erkennt. Wie krieg ich das über XMLDOM hin, dass ich einen Tag erzeugen kann, der dann wirklich nachher in der XML-Datei o:Author heißt?

    Wäre genial wenn ihr Ideen habt.

    Danke und Gruß,

    NRF

     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Geh mal auf Search CodeProject Articles und gib mal XML ein.
    Das sind richtig gute Tutorials.

    MfG cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Cosmo, der Linkmeister. Sag mal, hast du die alle im Kopf, oder sitzt du den ganzen Tag nur vorm Rechner und suchst dir Links heraus!?
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Schau dir einfach mal die XmlNode Klasse an und die Methoden SelectSingleNode und SelectNodes. Das sollte dir dann schon mal weiterhelfen.
     

  5. #5
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von broetchen
    Cosmo, der Linkmeister. Sag mal, hast du die alle im Kopf, oder sitzt du den ganzen Tag nur vorm Rechner und suchst dir Links heraus!?

    Also ich hab ein sehr gutes Gedächtniss und eine sehr gut aufgeräumte Linksammlung.
    Die hälfte der Links die ich poste stammen daher.
    Die andere Hälfte such innerhalb von 30 sek - max. 5 Min, mehr brauchts nicht.

    Die vielen Fragen hier zeigen einem, was in der IT Welt alles Möglich ist.
    Sobald ich was neues entdecke will ichs auch wissen. Und poste halt fürs Ideen geben
    meine gefunden Links.

    Wie ich die finde? Ganz einfach ->
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  6. #6
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    Danke schon mal für die hilfe! Dank codeproject hab ich schon mal eine Lösung wegen dem #text.

    Norbert, wüßte jetzt nicht, wie mir SelectSingleNodes helfen könnten. Ich lese die Sache ja rekursiv raus und das klappt ja alles. Kriege alle Nodes richtig geliefert. Nur das mit dem InnerText war falsch. Muss also wirklich Value abfragen, und von diesem Tag dann den Parent-Namen nehmen. Verstehe aber nicht, warum Value zwischendurch null ist, obwohl da Text drin ist. *konfus*

    Das andere größere Problem ist die Sache mit dem ns, also o:Author.

    Wie kann ich so einen Namen als Tag-Namen abspeichern? über DOM weiterhin.

    Danke schon mal für die Tipps!
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  7. #7
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    Habs jetzt so gemacht, dass ich das XMLDocument(knapp 230 kb in Datei) rekursiv auslese und in einem String Packe. Dabei ist die Datei kleiner geworden, weiß jetzt nicht woran das liegt und was da nicht mitgeschrieben wird, evtl ein Fehler in meiner Funktion.

    Achja, StringBuilder > String
    Wenn ich alles immer an einen String hänge, braucht der etwa 10mal so lange, wie wenn ichs über den StringBuilder mache.


    Schade dass das mit den Namespaces nicht geklappt hat und ich das direkt über dom machen kann. Hab da was im Internet über NamespaceManager und AddNamespace gelesen, aber wenn ich jetzt nsm.AddNamespace("o","http://org.w3c.bla.blub"); sage, schreibt er mir erst gar keinen o:Author Tag. hm
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. Antworten: 0
    Letzter Beitrag: 06.10.04, 14:03
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29