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

这是因为您在节点 [i].SelectSingleNode 的 XPATH 中使用了 //content2。// 在 XPATH 中意味着查看任何级别的所有实例。您应该执行 //RECORD/content2 的 XPATH,然后循环这些节点。

于 2011-08-01T19:41:12.250 回答