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);
    }
 }

posted @ 2013-04-15 21:40  apecoder  阅读(130)  评论(0编辑  收藏  举报