XML XPath SelectSingleNode问题

时间:2011-08-01 19:37:54

标签: c# xml xpath selectsinglenode

我正在尝试选择主文档的子节点内的某些节点。

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

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

最终做的是,所有单个content2节点具有相同的值,但在XmlDocument中,每个'Record'的content2值都会递增。

如果我查看NodeList,每个content2节点例如从1增加到32。

为什么SelectSingleNode返回相同的节点?如何从孩子那里选择它?

2 个答案:

答案 0 :(得分:3)

从XPATH字符串中省略“//”。这将查看所选XML的内部而不是整个文档。

答案 1 :(得分:1)

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