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