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'實例看起來都一樣,它們是否可以存儲相同的數據,例如在一個靜態字段中? –