【发布时间】:2018-06-09 07:06:20
【问题描述】:
尝试查找具有名称的 xml 节点并添加另一个同名的新节点作为兄弟节点。
问题:使用了 GetElementsByTagname() 方法,该方法将给出具有名称的节点列表。循环遍历节点以添加与兄弟同名的新节点。它引发错误“元素列表已更改。枚举操作无法继续。”
【问题讨论】:
-
如果您能提供minimal reproducible example,那就太好了。
尝试查找具有名称的 xml 节点并添加另一个同名的新节点作为兄弟节点。
问题:使用了 GetElementsByTagname() 方法,该方法将给出具有名称的节点列表。循环遍历节点以添加与兄弟同名的新节点。它引发错误“元素列表已更改。枚举操作无法继续。”
【问题讨论】:
我相信集合是不可变的。您可以创建集合的副本。当您找到所需的元素时,将它们添加到您已深度克隆的集合中。看看您是否可以 ToList() 集合来创建目标集合的副本。
由于代码不在您的问题中,您是否考虑在创建元素后在父节点上使用 InsertAfter() 或 AppendChild()?
【讨论】: