这是我的XML文件的内容
<?xml version="1.0" encoding="utf-8"?>
<Card>
<Value ID="cardValue">
<NorthValue>12 10 8 7 </NorthValue>
<EastValue>20 23 25 22 </EastValue>
<SouthValue>38 37 36 33 </SouthValue>
<West>47 48 51 50 </West>
</Value>
</Card>
我想读取里面的单个节点内容,例如读取<NorthValue>12 10 8 7</NorthValue>读取出来,只读取单个内容。如果在存储一次,然后我想根据一个标识来取得里面的值得。例如说,我读取第一次,然后就讲第一次里面<Value></Value>的所有内容读取。两个问题该怎么解决,谢谢了
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"); }
读取指定节点用SelectNodes方法。网上很多的。很容易找到。