首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#怎么使用xpath获取节点属性的最大值

2012-05-14 
C#如何使用xpath获取节点属性的最大值??xml version1.0 encodingutf-8?employeesemployee1 Emp

C#如何使用xpath获取节点属性的最大值?
<?xml version="1.0" encoding="utf-8"?>
<employees>
  <employee1 EmpID="1" EmpName="洪石丹" EmpAge="25" EmpSex="男">
  </employee1>
  <employee1 EmpID="6" EmpName="黄鑫" EmpAge="21" EmpSex="男">
  </employee1>
  <employee1 EmpID="2" EmpName="覃园" EmpAge="22" EmpSex="男">
  </employee1>
  <employee1 EmpID="27" EmpName="袁岩岩" EmpAge="25" EmpSex="男">
  </employee1>
  <employee1 EmpID="5" EmpName="江冬梅" EmpAge="22" EmpSex="男">
  </employee1>
  <employee1 EmpID="22" EmpName="瞿路" EmpAge="23" EmpSex="女">
  </employee1>
  <employee1 EmpID="42" EmpName="陈建勤" EmpAge="24" EmpSex="男">
  </employee1>
  <employee1 EmpID="44" EmpName="陈" EmpAge="24" EmpSex="男">
  </employee1>
  <employee1 EmpID="45" EmpName="aa" EmpAge="20" EmpSex="女" />
</employees>

[解决办法]

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Xml.Linq;using System.Text;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            string xml = @"<employees>  <employee1 EmpID=""1"" EmpName=""洪石丹"" EmpAge=""25"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""6"" EmpName=""黄鑫"" EmpAge=""21"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""2"" EmpName=""覃园"" EmpAge=""22"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""27"" EmpName=""袁岩岩"" EmpAge=""25"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""5"" EmpName=""江冬梅"" EmpAge=""22"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""22"" EmpName=""瞿路"" EmpAge=""23"" EmpSex=""女"">  </employee1>  <employee1 EmpID=""42"" EmpName=""陈建勤"" EmpAge=""24"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""44"" EmpName=""陈"" EmpAge=""24"" EmpSex=""男"">  </employee1>  <employee1 EmpID=""45"" EmpName=""aa"" EmpAge=""20"" EmpSex=""女"" /></employees>";            var query = XElement.Parse(xml).Elements("employee1").Select(x => Convert.ToInt32(x.Attribute("EmpAge").Value)).Max();            Console.WriteLine(query);        }    }}
[解决办法]
顺便说下,如果你查询这么写:

C# code
var query = XElement.Parse(xml).Elements("employee1").OrderByDescending(x => Convert.ToInt32(x.Attribute("EmpAge").Value)).First(); 

热点排行