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>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie dieses:
Müssen Sie zuerst suchen Sie das element, das Sie aktualisieren möchten. Wenn Sie es finden, führen Sie das update. Denken Sie daran, speichern Sie die XDocument-zurück in die Datei, wenn Sie fertig sind.
Seit der Erstellung der XML-Datei, wissen Sie das root-element des XML, also können Sie diesen code verwenden, um das jeweilige element, das Sie wollen:
Mit dabei, Sie erhalten das element ist, überprüfen Sie den Wert, und ändern Sie es wie Sie wünschen.