xml学习二
读取一个xml,xml如下:
<?xml version="1.0" encoding="gb2312" ?>
<Order>
<CustomerName>杨中科</CustomerName>
<OrderNumber>BJ2008888</OrderNumber>
<Items>
<OrderItem Name="电脑" Count="30"/>
<OrderItem Name="电视" Count="2"/>
<OrderItem Name="水杯" Count="20"/>
</Items>
</Order>
读取xml代码如下:
XDocument xDoc = XDocument.Load("orders.xml");
XElement xeRoot = xDoc.Root;
//获取姓名
string name = xeRoot.Element("CustomerName").Value; //直接找到CustomerName节点的值。
//获取订单号
string orderId = xeRoot.Element("OrderNumber").Value; //直接找到OrderNumber节点的值。
Console.WriteLine("订购人:{0},订单编号:{1}", name, orderId);
Console.WriteLine("订购信息:");
foreach (var item in xeRoot.Descendants("OrderItem"))
{
Console.WriteLine("订购商品:{0},订购数量:{1}", item.Attribute("Name").Value, item.Attribute("Count").Value);
}
Console.ReadKey();
递归加载Xml
XDocument xDoc = XDocument.Load(@"c:\people.xml");
XElement xeRoot = xDoc.Root;
DiGui(xeRoot);
Console.ReadKey();
}
static void DiGui(XElement xe) //写一个递归方法
{
foreach (XElement xeItem in xe.Elements())
{
Console.WriteLine(xeItem.Name);
DiGui(xeItem);
}
}