Read XML node using the XML path

image_pdfimage_print
   
 

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


This entry was posted in XML-RPC. Bookmark the permalink.