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>
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme ceci:
D'abord vous avez besoin de rechercher l'élément que vous souhaitez mettre à jour. Si vous le trouvez, faire la mise à jour. N'oubliez pas d'enregistrer le XDocument dans le fichier lorsque vous avez terminé.
Depuis que vous avez créé le fichier XML, vous savez l'élément racine du document XML de sorte que vous pouvez utiliser ce code pour obtenir l'élément particulier que vous voulez:
Avec cela, vous pouvez obtenir de l'élément, vérifiez sa valeur, et le modifier comme vous le désirez.