Ich versuche, jedes childelement innerhalb der "Obst" Rankings Element zu schreiben. Wie der Code jetzt ist, geht es zum ersten Ranking-Element in meiner XML-Datei und gibt die Childelements innerhalb aus: Aber wie gehe ich namentlich zu "fruit" und schreibe seine Childlements aus?Xmlreader - Element nach Name abrufen und childelements C# webforms
Xml
<ranking name="Browers>
<stat name="Chrome" />
<stat name="Firefox" />
<stat name="Safari" />
</ranking>
<ranking name="Fruit>
<stat name="Apple" />
<stat name="Orange" />
<stat name="Strawberry" />
</ranking>
Codebehind
XmlReader reader = XmlReader.Create(Server.MapPath("/temp/rankings.xml"));
while (true)
{
reader.ReadToFollowing("ranking");
string name = reader.GetAttribute("name");
if (name == "Fruit")
{
if (reader.ReadToDescendant("stat"))
{
do
{
litList.Text += reader.GetAttribute("name") + "<br />";
litList.Text += reader.GetAttribute("percent") + "<br />";
litList.Text += reader.GetAttribute("absolute") + "<br />";
} while (reader.ReadToNextSibling("stat"));
}
break;
}
}
Was ist mit zwei Schleifen? Erstens für Rankings, zweitens für Statistiken? – Krzysztof
Es hat funktioniert, ich dachte nicht klar. – Giefdonut
Also, wenn es kein Ranking namens Obst gibt, dann wirst du eine Endlosschleife eingeben? Dieser Code, den du gepostet hast, wird * keuchen * funktionieren für deine ** sehr speziellen Bedürfnisse, aber das ist nicht wirklich der Weg dies zu tun. (Sag einfach, falls jemand anderes etwas Ähnliches braucht, wird er das nicht kopieren/einfügen) –