1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<Order>
<CustomerName>Ken</CustomerName>
<CustomerNumber>10001</CustomerNumber>
<Items>
<OrderItem Name="手機" Count="100" />
<OrderItem Name="筆電" Count="200" />
<OrderItem Name="Test" Count="888" />
</Items>
</Order>
xpath
SelectNodes + XPath
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System.Xml;
static void Main(string[] args)
{
//XPath:讀取帶屬性的 XML 文檔
//創建xml物件
XmlDocument doc = new XmlDocument();
//載入xml
doc.Load("Order.xml");
XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");
foreach (XmlNode node in xnl)
{
Console.WriteLine(node.Attributes["Name"].Value);
Console.WriteLine(node.Attributes["Count"].Value);
}
Console.ReadKey();
}
改變屬性的值
XPath + SelectSingleNode XmlNode xn = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='Test']");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//改變屬性的值
//創建xml物件
XmlDocument doc = new XmlDocument();
//載入xml
doc.Load("Order.xml");
//xpath SelectSingleNode
XmlNode xn = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='Test']");
//改變屬性的值
xn.Attributes["Count"].Value = "999";
xn.Attributes["Name"].Value = "Rii";
//儲存
doc.Save("Order.xml");
Console.WriteLine("儲存成功");
Console.ReadKey();