0
これは比較的簡単だと確信しています。私は以下のXMLをループしたい、私は新しい名前空間を打つたびにvarをリセットする。各ループでxmlをリセットするループを繰り返す
XmlNodeList nodes = reports.SelectNodes("Reports/namespace");
foreach (XmlNode NSpace in nodes)
{
List<string> newlist = new List<string>();
//loop through checks one by one.
foreach (XmlElement element in reports.GetElementsByTagName("report"))
{
doStuff
}
}
それは単に起因以下に(各名前空間の)全体のXMLブロックを介して4回ループしているように、これは間違っている知っています。
foreach (XmlElement element in reports.GetElementsByTagName("report"))
誰かが必要とするxpathまたは正しいループをアドバイスできますか?
XML
<Reports>
<namespace Type="first">
<report>
<name>first_1</name>
</report>
<report>
<name>first_2</name>
</report>
<report>
<name>first_3</name>
</report>
</namespace>
<namespace Type="Second">
<report>
<name>Second_1</name>
</report>
</namespace>
<namespace Type="Third">
<report>
<name>Third_1</name>
</report>
</namespace>
<namespace Type="Fourth">
<report>
<name>Fourth_1</name>
</report>
</namespace>
</Reports>
エラー「System.Xml.XmlNode」「getElementsByTagNameの」となし拡張メソッド「のgetElementsByTagName」タイプの最初の引数を受け入れる「System.Xml.XmlNode」の定義が含まれていませんが、見つけることができる(あなたが不足しています使用指示文またはアセンブリ参照?) – user1156000
@ user1156000:編集...(これがLINQ to XMLを好む理由の1つです) –
これは完璧です - ありがとう。 – user1156000