我有一个如下所示的 XML 文件:
<Contacts>
<Person name="James" id"=1" />
<Person name="Edward" id"=2" />
</Contacts>
我想做点什么,所以如果 ID=2,再创建 10 个 Persons 并更新他们的 ID 和姓名,这样:
if (person.ID == 2)
{
foreach (var item in duplicatePersons)
{
pers.SetAttributeValue("id", item.Key);
pers.SetAttributeValue("name", item.Value);
allPersons.Add(pers);
}
}
duplicatePersons 是一个包含所有重复人员的字典。
问题是,这个 foreach 循环的第一次迭代正在创建:
<Person name="Josh" id"=3" />
在第二次迭代之后,它应该如下所示:
<Person name="Josh" id"=3" />
<Person name="Jacob" id"=4" />
但它看起来像:
<Person name="Jacob" id"=4" />
<Person name="Jacob" id"=4" />
所以第二次迭代更新了第一个和第二个元素。
知道为什么吗?