Die neusten 5 Einträge einer XML Doc auslesen.
-
Erstmal Sorry für die Überschrift, leider ist mir nichts besseres zu meinem Problem eingefallen.
Zu meinem Problem:
Ich Möchte beim Auslesen der XML die neusten 5 Einträge auslesen egal ob das doc 50 Einträge hat oder doch nur 5.
Ich hab das nun versucht über:
private static int maxItems; public RssTicker() { maxItems = 5; } public int MaxItems { get { return maxItems; } set { maxItems = value; } } XmlNodeList items = xmlDoc.SelectNodes ("//item"); //items auslesen foreach (XmlNode node in items) { XmlElement elem = node as XmlElement; if (elem != null) { if (items.Count > 0) { int itemCount; if (items.Count < maxItems) { itemCount = items.Count; } else { itemCount = maxItems; try { //Ausgabe an das Menu //indem er titel und link speichert XmlElement title = elem.GetElementsByTagName("title")[0] as XmlElement; XmlElement link = elem.GetElementsByTagName("link")[0] as XmlElement; Link newLink = new Link(title.InnerText, link.InnerText); result.Add(newLink); } catch (Exception) //Schalten wir wieder aus da kein fehler da ist { //MessageBox.Show (err.Message, "XML exception"); } } } } }
Funktionieren tut dies einwandfrei aber gibt trozdem immer alle aus. und nach ewigem rumsuchen hab ich mich nun doch dazu entschlossen euch zu fragen. warscheinlich ist mein Problem so simpel das ihr lachen werdet aber ich finde den Fehler nicht.
Danke im v o r r a u s
gruß b2!4n
-
dein Code ist ja bescheiden eingerückt
auf den ersten Blick
glaube ich das du da was nicht richtig aus wertest...
der Code macht wahrscheinlich immer dieses "result.Add" wenn er items.count >0 und items.count < 5 ist.
du weißt zwar dieses itemcount zu aber das wird nicht ausgewertet
oder ich versteh dein code net
lg
-
Du fügst genau dann einen Link hinzu, wenn items.Count > 0 && items.Count > 5, also in anderen Worten: wenn es mehr als 5 Items gibt verlinkst du und zwar alle, denn items.Count ändert sich ja nicht.
-
vielleicht sowas:
http://msdn.microsoft.com/en-us/library/ms256086.aspx
book[position() <= 3] The first three books (1, 2, 3).
XmlNodeList items = xmlDoc.SelectNodes ("//item[position() <= 5]");
-
Nahasapeemapetilon schrieb:
dein Code ist ja bescheiden eingerückt
auf den ersten Blick
glaube ich das du da was nicht richtig aus wertest...
der Code macht wahrscheinlich immer dieses "result.Add" wenn er items.count >0 und items.count < 5 ist.
du weißt zwar dieses itemcount zu aber das wird nicht ausgewertet
oder ich versteh dein code net
lgDie einrückung ist so schrecklich weil das normal noch weiter eingerückt ist und ich hab das ein gutes stück nach links gemacht einfahc mit makieren und löschen
-------------------------------loks schrieb:
vielleicht sowas:
http://msdn.microsoft.com/en-us/library/ms256086.aspx
book[position() <= 3] The first three books (1, 2, 3).
XmlNodeList items = xmlDoc.SelectNodes ("//item[position() <= 5]");
vielen dank loks mit
XmlNodeList items = xmlDoc.SelectNodes ("//item[position() <= 5]");
geht das. Vielen dank.