"Kleines Problem" bei XML Auslesung...
-
Hi leute,
Undzwar Ich habe ein kleines Problem mit einer XML datei.
Ich weiß wie ich einen node auslese, das ist nich das problem.
aber z.B. bei dieser XML: http://www.wowhead.com/item=38082&xml
ist ein node <item id="38082">
wie kriege ich xml nodes ausgelesen in denen ein leerzeichen vorkommt.?
-
Wo issen da ein Leerzeichen? Du meinst doch nicht etwas das Leerzeichen zwischen item und id oder? Weil id ist in dem Fall ein Attribute von dem xml-Element item. Das heißt das musst du seperat auslesen, zeig mal her wie du ausliest.
-
private void button1_Click( object sender, EventArgs e ) { XmlTextReader rd = new XmlTextReader( "http://www.wowhead.com/item=38082&xml" ); XmlDocument doc = new XmlDocument(); doc.Load( rd ); XmlNode node = doc.SelectSingleNode( "item id"); richTextBox1.Text = node.InnerText; }
-
Du bist schon nah dran.
XElement element = doc.Element("item"); string id = element.Attribute("id").Value;
Edit: Du solltest dir nochmal die Grundlagen von XML anschauen
-
Sorry mein Snippet ist nur für XDocument geeignet, aber damit geht das Laden fast genauso.
-
was heißt bei dir fast genauso xD
-
XDocument doc = XDocument.Load("http://www.wowhead.com/item=38082&xml");
-
hast du es selber getestet? er sagt mir wenn ich item id per button klick in die textbox einlesen will das das object nicht auf eine instanz fesgelegt ist
in der zeile:
XDocument doc = XDocument.Load("http://www.wowhead.com/item=38082&xml");
-
Ok habs jetzt
var doc = new XPathDocument( "http://www.wowhead.com/item=38082&xml" ); XPathNodeIterator navi = doc.CreateNavigator().Select( "/wowhead/item" ); string itemid; while ( navi.MoveNext() ) { itemid = navi.Current.GetAttribute( "id", "" ); richTextBox1.Text = itemid; }
So jetzt bräcuhte ich nur noch hilfe beim auslesen von CDATA ^^
-
Naja dein Code ist ja von meinem Weit entfernt:D
Mach ich eigentlich selten, komplette Lösungen präsentieren, aber du hast Eigeninitiative gezeigt.
static void Main(string[] args) { XDocument document = XDocument.Load(new XmlTextReader("http://www.wowhead.com/item=38082&xml")); XElement node = document.Descendants("item").SingleOrDefault(); string nodeId = node.Attribute("id").Value; Console.WriteLine(nodeId); Console.ReadKey(); }