Linq創(chuàng)建xml文檔概述
Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linq創(chuàng)建xml文檔,包括介紹創(chuàng)建帶命名空間的xml文檔等方面。
LINQ to XML 最重要的優(yōu)勢是它與 Language-Integrated Query (LINQ) 的集成。由于實(shí)現(xiàn)了這一集成,因此,可以對內(nèi)存 XML 文檔編寫查詢,以檢索元素和屬性的集合。 LINQ to XML 的查詢功能在功能上(盡管不是在語法上)與 XPath 和 XQuery 具有可比性。 Visual C# 2008 集成 LINQ 后,可提供更強(qiáng)的類型化功能、編譯時(shí)檢查和改進(jìn)的調(diào)試器支持。
Linq創(chuàng)建xml文檔
- XElement contacts =
- new XElement("Contacts",
- new XElement("Contact",
- new XElement("Name", "Patrick Hines"),
- new XElement("Phone", "206-555-0144",
- new XAttribute("Type", "Home")),
- new XElement("phone", "425-555-0145",
- new XAttribute("Type", "Work")),
- new XElement("Address",
- new XElement("Street1", "123 Main St"),
- new XElement("City", "Mercer Island"),
- new XElement("State", "WA"),
- new XElement("Postal", "68042")
- )
- )
- );
XElement構(gòu)造函數(shù)接受兩個(gè)參數(shù),節(jié)點(diǎn)名和Content,Content可以是簡單字符串,也可以的屬性和子節(jié)點(diǎn)集合。
創(chuàng)建帶命名空間的xml文檔
- XNamespace myns = "http://www.cnblogs.com/mshijie";
- XElement root = new XElement(myns + "pets",
- new XAttribute(XNamespace.Xmlns + "myns", myns),
- new XElement(myns + "pet",
- new XElement(myns + "name", "Dog")));
- root.Save("test.xml");
test.xml
- <?xml version="1.0" encoding="utf-8"?>
- <myns:pets xmlns:myns="http://www.cnblogs.com/mshijie">
- <myns:pet>
- <myns:name>Dog</myns:name>
- </myns:pet>
- </myns:pets>
查詢
- XNamespace myns = "http://www.cnblogs.com/mshijie";
- XElement pets = XElement.Load("test.xml");
- var query = from pet in pets.Elements(myns + "pet")
- select pet;
- Array.ForEach(query.ToArray(), p => Console.WriteLine(p.Element(myns + "name").Value));
以上介紹Linq創(chuàng)建xml文檔。
【編輯推薦】