Краткий смысл: Идут по XDocument в цикле, проверяю условие и если оно истинно, то удаляю узел:
bool flag = false;
var xDoc = XDocument.Parse(kvp.Value);
var childs = xDoc.Root.Elements().ToList();
for (int i = 0; i < childs.Count-1; i++)
{
if (childs[i].Attribute("id") == null) continue;
if (!dict1.ContainsKey(int.Parse(childs[i].Attribute("id").Value)))
{
flag = true;
childs[i].Remove();
i--;
}
}
Ловлю такую ошибку на попытке удаления:
Additional information: Родительский элемент отсутствует.
Вам не нужно менять индекс, ведь вы не изменяете материализованную коллекцию childs
.
Попробуйте так:
for (int i = 0; i < childs.Count; i++)
{
if (childs[i].Attribute("id") == null) continue;
if (!dict1.ContainsKey(int.Parse(childs[i].Attribute("id").Value)))
{
flag = true;
childs[i].Remove();
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! При попытке создание отчёта с помощью запроса sql в ReportViewer ничего не отображаетсяКакие могут быть причины? Как можно заполнить...
Здравствуйте, подскажите, пожалуйста, как можно отследить вебсокет который я создаю с помощью websocketsharp?
Всем привет! Я знаю, что очень много информации по поводу практикиОтветов большинство на сайте "создай свой проект" и т