Hi,
hab folgendes Problem und vielleicht kann mir jemand von euch dabei helfen. Bin ein Newbie in Xml und probiere so rum und bin da auf ein Problem gestoßen.
Ich Arbeite mit VisualStudio.Net und C# und versuche jetzt eine XML File auszulesen.
Also ich bekomme eine XML File als string und lade sie Mittels
xmlDoc.Load(strXMLFile);
Das klappt soweit ganz gut, dann schreibe ich den string zur Kontrolle in eine Datei mittels:
writer.write(xmlDoc.DocumentElement.OuterXml);
Da bietet sich mir dann folgendes Bild:
- <Buch xmlns="http://www.vielSpass.com/nochMehr">
<DateTime>2006-04-10T01:53:41.561Z</DateTime> - <Titel>
<TitelID>TitelIDTest</TitelID>
</Titel> - <Autor>
<AutorID>AutorIDTEST</AutorID>
<GeburtsTag>GeburtsTagTest</GeburtsTag>
<TodesTag>TodesTagTest</TodesTag>
<Werke>WerkeTest</Werke>
</Autor> - <Verlag>
<VerlagsID>VerlagsIDTest</VerlagsID>
<VerlagsName>VerlagsNameTest</VerlagsNameTest>
</Verlag>
</Buch>
Das ist auch alles Okay, aber jetzt die Frage:
Wie komme ich jetzt an die AutorID ran?
Ich habs probiert mit:
xmlDoc.DocumentElement.SelectSingelNode("Autor/AutorID").InnerText;
da krieg ich aber ne Null Exception!
Dann hab ich versucht mit NamespaceManager das auszuprobieren hat auch nicht geklappt.
Dann hab ich es so gemacht:
xmlDoc.DocumentElement.FirstChild.NextSibling.FirstChild.InnerText;
Da Funktionierts! Aber Das finde ich ist sehr unreiner Stil!
Darum wieder nen Schritt zurück!
Hab also den Namespace wieder drin und hab weiter probiert mit Sämtlichen vordefinierten Methoden! Nichts hat geholfen.
Dann hab ich den Namespace einfach aus dem String entfernt und da Funktioniert es.
Aber warum?, warum verändert der Namespace die XML File so das man nicht mehr vernünftig Durchnavigieren kann!
Bzw Wie kann ich trotz namespace, also xmlns ohne Präfix, vernünftig die Daten in der XML File auslesen???
Ich hoffe jemand hat ne Idee wie man das Problem lösen könnte!
Danke schonmal für die Hilfe