У меня есть следующий код, который создает файл XML с кучей информации о заказе. Я хотел бы иметь возможность обновить запись в этом XML-файле вместо того, чтобы удалять все и заново добавлять все снова.
Я знаю, что могу сделать это:
xElement.Attribute(attribute).Value = value;
Но это изменит каждый атрибут с тем же именем, что и атрибут. Как я могу изменить значение чего-либо, только если идентификатор записи равен «jason», например? Нужно ли загружать файл XML, выполнять итерацию по всему файлу, пока не будет найдено соответствие для атрибута, который я хочу изменить, затем изменить его и снова сохранить файл?
Любая помощь / предложения приветствуются.
XElement xElement;
xElement = new XElement("Orders");
XElement element = new XElement(
"Order",
new XAttribute("Id", CustomId),
new XAttribute("Quantity", Quantity),
new XAttribute("PartNo", PartNo),
new XAttribute("Description", Description),
new XAttribute("Discount", Discount),
new XAttribute("Freight", Freight),
new XAttribute("UnitValue", UnitValue),
new XAttribute("LineTotal", LineTotal)
);
xElement.Add(element);
xElement.Save(PartNo + ".xml");
Вот как выглядит мой XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<Orders>
<Order Id="V45Y7B458B" Quantity="2" PartNo="5VNB98" Description="New Custom Item Description" Discount="2.00" Freight="2.90" UnitValue="27.88" LineTotal="25.09" />
<Order Id="jason" Quantity="2" PartNo="jason" Description="New Custom Item Description" Discount="2.00" Freight="2.90" UnitValue="27.88" LineTotal="25.09" />
</Orders>