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(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |