0
"fruit"ランキング要素内のすべてのchildelementを書き出しようとしています。コードは今のように、xmlファイルの最初の要素に移動し、childelementsを出力します。しかし、どのように名前で "果物"に行き、子要素を書き出すのですか?Xmlreader - 名前で要素を取得し、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>
分離コード
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;
}
}
2つのループはどうですか?ランキングの第1位、統計第2位? – Krzysztof
それは働いた、明らかに考えていなかった。 – Giefdonut
したがって、果物と呼ばれるランクがない場合、無限ループに入るでしょうか?あなたが掲示したこのコードは**あなたの非常に**特定のニーズのために働くでしょうが、これは本当にこれを行う方法ではありません。 (ちょうど他の誰かが同様のものを必要とする場合は、コピー/貼り付けはしません) –