首页 > 代码库 > LINQ to XML(1)

LINQ to XML(1)

LINQ to XML可以两种方式和XML配合使用。第一种方式是作为简化的XML操作API,第二种方式是使用LINQ查询工具。下面我使用的是第二种方式。

  主要内容:用LINQ查询语句对XML文件里的数据进行筛选。

  此方法优点:

    1.我们可以使用单一语句自顶向下创建XML树。

    2.我们可以使用包含树的XML文档在内存中创建并操作XML。

    3.我们可以不适用Text子节点来创建和操作字符串节点。

    4.一个最大的不同(改进)是,在搜索一个XML树时,不需要遍历它。相反只需要查询树并让它返回想要的结果。

  以下是有关代码的演示:

这是XML文件中的内容(可直接复制):

<?xml version="1.0" encoding="utf-8"?>
<MyElements>
  <first color="red" size="small" />
  <second color="yellow" size="small" />
  <third color="blue" size="big" />
</MyElements>

这是控制台里的代码:

 

static void Main(string[] args)        

{            

XDocument xd = XDocument.Load(@"C:\Users\伟\Desktop\jiaxing.xml"); //加载文档。这是文档的路径          

   XElement xt = xd.Element("MyElements");         //获取跟元素

            var xyz = from e in xt.Elements()               //选择名称包含               

                where e.Name.ToString().Length == 5   //5个字符的元素                  

                select e;          

   foreach (XElement item in xyz)           

  {               

    Console.WriteLine(item.Name.ToString());    //所选的元素        

  }

   Console.WriteLine();

   foreach (var item in xyz)            

{               

  Console.WriteLine("Name:{0},Color:{1},Size:{2}",     

                item.Name,                   

                item.Attribute("color").Value,                  

        item.Attribute("size").Value           //获取特性及特性的值                  

   );            

}

            Console.ReadLine();        

}

LINQ to XML(1)