Tengo el siguiente código que crea un archivo XML con una gran cantidad de información de pedido. Y me gustaría poder actualizar una entrada en este archivo XML, en lugar de eliminar todo y volver a agregar todo de nuevo.Actualizar XAttribute Value donde XAttribute Name = X
Sé que puedo hacer esto:
xElement.Attribute(attribute).Value = value;
Pero eso va a cambiar todos los atributos con el mismo nombre que tiene atributo. ¿Cómo puedo cambiar solo el valor de algo cuando el Id de la entrada es igual a "jason", por ejemplo? ¿Tendría que cargar el archivo XML, repetir todo el archivo hasta que encuentre una coincidencia para el atributo que deseo cambiar, luego cambiarlo y luego guardar el archivo nuevamente?
Cualquier ayuda/sugerencia es muy apreciada.
Gracias
Esto es lo que mi archivo XML se parece a:
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");
<?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>
Gracias :) @Alex –