微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

原文地址:https://www.jb51.cc/xml/297686.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。