在遍历xml节点时遇到报错InvalidOperationException: Operation is not valid due to the curren

qq_35903191 2020-09-09 05:46:47
代码如下


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

忘各位大神 给予指导 非常感谢
...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35903191 2020-09-10
  • 打赏
  • 举报
回复
已经自行解决了,本来以为是 xmlnode 类有什么特殊的用法导致的,原来原因在 24 行,也就是说这段代码在遍历 一个xmlnodelist的时候 又试图删除 和替换这个list中的元素,而在遍历过程中这种操作是不被允许的。
qq_35903191 2020-09-10
  • 打赏
  • 举报
回复
qq_35903191 2020-09-10
  • 打赏
  • 举报
回复
捞一下

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧