Csharp/C Sharp by API/System.Xml/XmlElement
XmlElement.GetAttribute
<source lang="csharp">
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>
- /
</source>
XmlElement.SetAttribute
<source lang="csharp">
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>
- /
</source>