Mega Code Archive

 
Categories / C# / XML
 

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> */