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

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

XmlElement.GetAttribute

 

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


XmlElement.SetAttribute

 

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