代碼如下
IEnumerator Date_SingleSIOPropertySave(string SIOName, Dictionary<string, string> valueDic)
{
//首先遍歷 根xmlnode 目標 節點
XmlNode lookForNode = null;
foreach (XmlNode item in currnetSIOXml.FirstChild.ChildNodes)
{
if (item.Name == SIOName)
{
lookForNode = item;
break;
}
}
yield return 0;
//找到目標條目后 遍歷 條目下的 屬性條目
foreach (XmlNode child in lookForNode.ChildNodes)
{
//遍歷一次屬性 就遍歷一次 詞典的 key 查找對應key的 屬性node 并在處理結束時候break 終止回圈
foreach (var Key in valueDic.Keys)
{
if (Key == child.Name)
{
XmlElement newProperty = currnetSIOXml.CreateElement(Key);
lookForNode.ReplaceChild(newProperty, child);
break;
}
}
}
}
報錯在16行 錯誤資訊是 InvalidOperationException: Operation is not valid due to the current state of the object
忘各位大神 給予指導 非常感謝
uj5u.com熱心網友回復:
撈一下
uj5u.com熱心網友回復:
撈
uj5u.com熱心網友回復:
已經自行解決了,本來以為是 xmlnode 類有什么特殊的用法導致的,原來原因在 24 行,也就是說這段代碼在遍歷 一個xmlnodelist的時候 又試圖洗掉 和替換這個list中的元素,而在遍歷程序中這種操作是不被允許的。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3696.html
標籤:C#
上一篇:如何判斷檔案夾為空?
下一篇:快速匯入資料到資料庫的方法
