2

メイン ドキュメントの子ノード内の特定のノードを選択しようとしています。

XmlNodeList nodes = xml.SelectNodes("//RECORD");

for (int i = 0; i < nodes.Count; i++)
{           
     Console.WriteLine("Time: " + nodes[i].SelectSingleNode("//content2").InnerText);
}

これが最終的に行うことは、すべての単一の content2 ノードが同じ値を持つことですが、XmlDocument では、各「レコード」の content2 値が増分されます。

たとえば、NodeList を調べると、各 content2 ノードが 1 から 32 にインクリメントされます。

SelectSingleNode が同じノードを返すのはなぜですか? 子供から選択させるにはどうすればよいですか?

4

2 に答える 2

3

XPATH文字列から「//」を省略します。これにより、ドキュメント全体ではなく、選択したXMLの内部が表示されます。

于 2011-08-01T19:54:11.083 に答える
1

これは、nodes[i].SelectSingleNode の XPATH で //content2 を使用しているためです。// XPATH では、任意のレベルですべてのインスタンスを調べることを意味します。//RECORD/content2 の XPATH を実行してから、それらのノードをループする必要があります。

于 2011-08-01T19:41:12.250 に答える