Обновление XML-файла (C # / Linq)

#c# #.net #xml #winforms #linq

#c# #.net #xml #winforms #linq

Вопрос:

Я пытаюсь выяснить, как я могу обновить свой XML-файл. Я знаю, как читать и писать, но понятия не имею, как обновить существующую запись.

Мой XML-файл выглядит следующим образом:

И я хотел бы иметь возможность изменять значение атрибута XAttribute, который уже есть в файле.

Вот как я пишу файл:

         XElement xElement;
        xElement = new XElement("Orders");

        XElement element = new XElement(
            "Order",
            new XAttribute("Quantity", Quantity),
            new XAttribute("Part No", PartNo),
            new XAttribute("Description", Description),
            new XAttribute("Discount", Discount),
            new XAttribute("Freight", Freight),
            new XAttribute("Unit Value", UnitValue),
            new XAttribute("Line Total", LineTotal)
            );
        xElement.Add(element);
        xElement.Save("");
  

Возможно ли выполнять обновления, или мы должны сначала удалить существующее, а затем повторно добавить его с новыми значениями?

Ответ №1:

Да, вы можете обновить атрибут без удаления и повторного добавления. Просто получите желаемый XAttribute объект внутри XElement и обновите его Value свойство и сохраните XElement обратно в файл, чтобы увидеть изменения.

 xElement.Attribute("Quantity").Value = "15";
  

Комментарии:

1. хммм.. Спасибо — это имеет смысл 🙂 Я и мой старый приятель IntelliSense разберемся с остальным: P