Update XAttribute-Wert, bei dem XAttribute Name = X

Ich habe den folgenden code erstellt eine XML-Datei mit ein paar Informationen zur Bestellung. Ich möchte in der Lage sein zu aktualisieren, einen Eintrag in dieser XML-Datei, anstatt alles löschen und re-hinzufügen alles wieder.

Ich weiß, ich kann dies tun:

xElement.Attribute(attribute).Value = value;

Aber das wird sich ändern jedes Attribut mit dem gleichen Namen als Attribut hält. Wie kann ich nur ändern Sie den Wert von etwas, wenn die Eintrags-Id gleich "jason", zum Beispiel? Brauche ich zum Laden der XML-Datei, Durchlaufen Sie die gesamte Datei, bis es eine übereinstimmung findet, die für das Attribut, die ich ändern wollen, dann ändern Sie es, und speichern Sie die Datei wieder?

Jede Hilfe/Vorschläge werden sehr geschätzt.

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

Hier ist, was meine XML-Datei sieht wie folgt aus:

<?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
Schreibe einen Kommentar