LINQ to XML简介(2)

前端之家收集整理的这篇文章主要介绍了LINQ to XML简介(2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.可以把LINQ XML API和LINQ查询表达式组合在一起产生简单而强大的XML树搜索

创建XML树,如下所示代码

<span style="font-size:18px;"> XDocument xTree = new XDocument(
                new XElement("MyElement",new XElement("first",new XAttribute("color","red"),new XAttribute("size","small")
                        ),new XElement("second","medium")
                        ),new XElement("third","large")
                        )
                    )
                );</span>

产生如下输出

2.使用LINQ查询如下所示:

<span style="font-size:18px;"> xTree.Save("XTreeTest.xml");
            XDocument doc = XDocument.Load("XTreeTest.xml");
            XElement root = doc.Element("MyElement");
            IEnumerable<XElement> xElements= root.Elements();
            //找出根节点下节点名称为5个字符的节点
            var query = from x in xElements
                        where x.Name.ToString().Length == 5
                        select x;
            foreach (var item in query)
            {
                Console.WriteLine("Name:{0}",item.Name);
            }
            foreach (var item in query)
            {
                Console.WriteLine("Name:{0},color:{1},size:{2}",item.Name,item.Attribute("color").Value,item.Attribute("size").Value);
            }</span>

输出如下:

或者使用Select创建匿名类实例

<span style="font-size:18px;">var xyz = from e in xElements
                      select new {e.Name,Color=e.Attribute("color"),Size=e.Attribute("size") };
            foreach (var item in xyz)
            {
                Console.WriteLine("Name:{0},Color:{1}.Size:{2}",item.Color.Value,item.Size.Value);
            }</span>

猜你在找的XML相关文章