Linq創建xml文檔概述
Linq有很多值得學習的地方,這里我們主要介紹Linq創建xml文檔,包括介紹創建帶命名空間的xml文檔等方面。
LINQ to XML 最重要的優勢是它與 Language-Integrated Query (LINQ) 的集成。由于實現了這一集成,因此,可以對內存 XML 文檔編寫查詢,以檢索元素和屬性的集合。 LINQ to XML 的查詢功能在功能上(盡管不是在語法上)與 XPath 和 XQuery 具有可比性。 Visual C# 2008 集成 LINQ 后,可提供更強的類型化功能、編譯時檢查和改進的調試器支持。
Linq創建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構造函數接受兩個參數,節點名和Content,Content可以是簡單字符串,也可以的屬性和子節點集合。
創建帶命名空間的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創建xml文檔。
【編輯推薦】