Burada bir kod sipariş bilgisine sahip bir XML dosyası oluşturan aşağıdaki kod var. Ve bu XML dosyasındaki bir girişi, her şeyi silmeyi ve her şeyi tekrar eklemeyi değil, güncelleyebilmek istiyorum.XAttribute Değeri XAttribute Name = X
ben bunu yapabilirsiniz biliyorum:
xElement.Attribute(attribute).Value = value;
Ama nitelik elinde tuttuğu için, aynı adla her özellik değişecektir. Örneğin, girişin kimliği "jason" a eşit olduğunda sadece bir şeyin değerini nasıl değiştirebilirim? XML dosyasını yüklemem gerekir, değiştirmek istediğim öznitelik için bir eşleşme bulana kadar tüm dosya üzerinde yinelemeli, sonra değiştirmeli ve sonra dosyayı yeniden kaydetmem gerekir mi?
Her türlü yardım/öneri çok takdir edilmektedir.
Eğerİşte benim XML dosyası gibi görünür ederiz:
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>
Teşekkür ederiz :) @Alex –