linq to xml查询XML元素并排序
下面的实例代码使用LINQ to XML查询XML文件中指定属性值的元素,并对查询结果中的元素进行排序,然后将元素的名称显示在网页中。具体步骤如下。
(1)将Books.xml文件的访问地址转换为物理地址。
(2)使用XElement类的Load()方法读取Books.xml文件的内容,并创建为xe实例。
(3)使用LINQ表达式查询xe实例中名称为“Book”的、ID属性的值包含“10”字符串的元素,查询结果保存为elements变量。同时,在查询操作中对元素按照元素的名称进行倒序排序。
(4)在网页中显示elements变量中元素的名称。
private void QueryElementByOrder() { ///导入XML文件 string xmlFilePath = Server.MapPath("Data/Books.xml"); XElement xes = XElement.Load(xmlFilePath); ///查询元素 IEnumerable<XElement> elements = from e in xes.Elements("Book") where e.Attribute("ID").Value.IndexOf("10") > -1 orderby (string)e.Element("Name") descending select e; ///输出元素的名称 foreach (XElement xe in elements) { Response.Write(xe.Element("Name").ToString() + "<br />"); } }
Sample_11项目中的QueryXML.aspx页面测试了上述实例代码(QueryElementByOrder()函数),测试结果如图所示。
加支付宝好友偷能量挖...