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文档

 
 
 
  1. XElement contacts =  
  2. new XElement("Contacts",  
  3. new XElement("Contact",  
  4. new XElement("Name", "Patrick Hines"),  
  5. new XElement("Phone", "206-555-0144",  
  6. new XAttribute("Type", "Home")),  
  7. new XElement("phone", "425-555-0145",  
  8. new XAttribute("Type", "Work")),  
  9. new XElement("Address",  
  10. new XElement("Street1", "123 Main St"),  
  11. new XElement("City", "Mercer Island"),  
  12. new XElement("State", "WA"),  
  13. new XElement("Postal", "68042")  
  14. )  
  15. )  
  16. ); 

XElement构造函数接受两个参数,节点名和Content,Content可以是简单字符串,也可以的属性和子节点集合。

创建带命名空间的xml文档

 
 
 
  1. XNamespace myns = "http://www.cnblogs.com/mshijie";  
  2.  
  3. XElement root = new XElement(myns + "pets",  
  4. new XAttribute(XNamespace.Xmlns + "myns", myns),  
  5. new XElement(myns + "pet",  
  6. new XElement(myns + "name", "Dog")));  
  7. root.Save("test.xml"); 

test.xml

 
 
 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <myns:pets xmlns:myns="http://www.cnblogs.com/mshijie"> 
  3. <myns:pet> 
  4. <myns:name>Dog</myns:name> 
  5. </myns:pet> 
  6. </myns:pets> 

查询

 
 
 
  1. XNamespace myns = "http://www.cnblogs.com/mshijie";  
  2. XElement pets = XElement.Load("test.xml");  
  3.  
  4. var query = from pet in pets.Elements(myns + "pet")  
  5. select pet;  
  6.  
  7. Array.ForEach(query.ToArray(), p => Console.WriteLine(p.Element(myns + "name").Value)); 

以上介绍Linq创建xml文档。

【编辑推荐】

  1. LINQ Customers类概括
  2. LINQ查询操作全面分析
  3. LINQ to SQL的Table剖析
  4. Linq数据分组全面描述
  5. LINQ查询基础概括
THE END