Csharp/C Sharp by API/System.Xml/XmlElement

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>