0
以下是应该生成所有消息的列表。通过XML进行迭代返回相同节点Over&Over
在实践中,我得到了一个长度的列表,但是有相同的元素反复。
Message
是从发送到构造函数的XmlNode中填充的类。
_messages = new List<Message>();
/*This does it*/
foreach (XmlNode n in thread.SelectNodes("//messages/message"))
{
_messages.Add(new Message(n));
}
/*So does this*/
XmlNode msgItr = thread.SelectSingleNode("//messages").FirstChild;
while (msgItr != null)
{
_messages.Add(new Message(msgItr));
msgItr = msgItr.NextSibling;
}
我不相信问题是代码的XML部分。请确保更新显示* small * XML样本和演示该问题的相对完整版本的代码。 –
附注:我假设你明白XPath中的“//”'是“从根开始给我所有节点......”,而不是“从当前节点开始给我所有节点......” - 这将是印刷错误关闭的好理由。 –
我也建议你检查'SelectNodes'的结果,以确保你实际得到独特的结果(我希望你会)。如果所有'Message'实例看起来都一样,它们是否可以存储相同的数据,例如在一个静态字段中? –