Read XML node using the XML path
using System;
using System.Xml;
public class SellItems {
static void Main(string [] args) {
XmlDocument inventory = new XmlDocument();
inventory.Load("inventory.xml");
XmlNodeList elements = inventory.SelectNodes("//inventory/items/item");
foreach (XmlElement element in elements) {
string productCode = element.GetAttribute("productCode");
int quantitySold = Int32.Parse(element.GetAttribute("quantity"));
Console.WriteLine(quantitySold);
string xPathExpression = "//items/item[@productCode='" + productCode + "']";
XmlElement inventoryItem = (XmlElement)inventory.SelectSingleNode(xPathExpression);
int quantity = Int32.Parse(inventoryItem.GetAttribute("quantity"));
quantity -= quantitySold;
inventoryItem.SetAttribute("quantity",quantity.ToString());
}
inventory.Save("inventory.xml");
}
}
/*
<inventory>
<date year="2006" month="8" day="27" />
<items>
<item quantity="5" productCode="01" description="PHP" unitCost="9.95" />
<item quantity="3" productCode="02" description="Perl" unitCost="4.95" />
</items>
</inventory>
*/
Related examples in the same category