Linq To Xml
发布时间:2020-12-16 05:58:34  所属栏目:百科  来源:网络整理 
            导读:前言:Linq to xml与前面所说的XML API,不冲突,也不存在谁替代谁的说法,Linq To XML 只是简化了我们的对xml文档的操作. 添加引用,然后通过几个例子,说一下里面常用的类 using System.Xml.Linq; 1:XDocument 对象代表了xml文档 2:XElement 对象代表了元素 3:XA
                
                
                
            | 前言:Linq to xml与前面所说的XML API,不冲突,也不存在谁替代谁的说法,Linq To XML 只是简化了我们的对xml文档的操作. 添加引用,然后通过几个例子,说一下里面常用的类 using System.Xml.Linq; 1:XDocument 对象代表了xml文档 2:XElement 对象代表了元素 3:XAttribute 对象代表了属性 
 (一) 如下代码,创建一个通过使用XDocument,XElement,XAttribute对象创建一个xml文档             XDocument xdoc = new XDocument(
                   new XElement("customers",new XElement("customer",new XAttribute("ID","A"),new XAttribute("City","New York"),new XAttribute("Region","North America"),new XElement("order",new XAttribute("Item","Widget"),new XAttribute("Price",100)
                           ),"Tire"),200)
                           )
                       ),"B"),"Mumbai"),"Asia"),"Oven"),501)
                           )
                       )
                   )
               );
            xdoc.Save("D:xml.xml");生成的xml文档: 文件:D:xml.xml <?xml version="1.0" encoding="utf-8"?>
<customers>
  <customer ID="A" City="New York" Region="North America">
    <order Item="Widget" Price="100" />
    <order Item="Tire" Price="200" />
  </customer>
  <customer ID="B" City="Mumbai" Region="Asia">
    <order Item="Oven" Price="501" />
  </customer>
</customers>C#那一段代码,还有另一种写法,看一下模板,用"分开"的写法 文件:D:xml2.xml <?xml version="1.0" encoding="utf-8"?>
<customers>
  <customer ID="B" City="Mumbai" Region="Asia">
    <order Item="Oven" Price="501">MyOrder</order>
  </customer>
</customers>代码如下:             XDocument xdoc = new XDocument();
            XElement xe_customers = new XElement("customers");//根元素
            XElement xe_customer =new XElement("customer");
            XAttribute xa_id = new XAttribute("ID","B");
            XAttribute xa_city = new XAttribute("City","Mumbai");
            XAttribute xa_region = new XAttribute("Region","Asia");
            xe_customer.Add(xa_id);
            xe_customer.Add(xa_city);
            xe_customer.Add(xa_region);
            XElement xe_order = new XElement("order","MyOrder");
            XAttribute xa_item = new XAttribute("Item","Oven");
            XAttribute xa_price = new XAttribute("Price",501);
            xe_order.Add(xa_item);
            xe_order.Add(xa_price);
            xe_customer.Add(xe_order);
            xe_customers.Add(xe_customer);
            xdoc.Add(xe_customers);
            xdoc.Save("D:xml2.xml");上面这一段代码的方式,如果想从数据库中生成XML,配合上循环,也不错.(二) xml文档的读/查 1:实例:  string xmlFileName = @"D:xml2.xml";
            XDocument customers = XDocument.Load(xmlFileName);
            Console.WriteLine("Elements in loaded document:");
            //var queryResult = from c in customers.Elements()
            //                  select c.Name;
            //var queryResult = customers.Elements().Select(c=>c.Name);
            var queryResult = customers.Descendants();
            Console.WriteLine(queryResult.Count());
            foreach (var item in queryResult)
            {
                Console.WriteLine("name为:"+item.Name +"      "+"value为:"+item.Value+ "rn");
            }
            Console.Write("Press Enter/Return to continue:");
            Console.ReadLine();(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
