Mise à jour XAttribute Valeur où XAttribute Name = X

J'ai le code suivant qui crée un fichier XML avec un tas d'informations de commande. Je aimerais être en mesure de mettre à jour une entrée dans ce fichier XML au lieu de tout supprimer et re-ajout de tout nouveau.

Je sais que je peux le faire:

xElement.Attribute(attribute).Value = value;

Mais qui va changer tous les attributs avec le même nom que l'attribut est titulaire. Comment puis-je modifier la valeur de la chose lorsque l'entrée de l'Id est égal à "jason", par exemple? Aurais-je besoin de Charger le fichier XML, itérer sur l'ensemble du fichier jusqu'à ce qu'il trouve une correspondance pour l'attribut que je veux modifier, puis modifier, puis enregistrez à nouveau le fichier?

Toute aide/suggestions sont grandement appréciés.

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");

Voici ce que mon fichier XML ressemble:

<?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>
InformationsquelleAutor | 2011-05-19