C#如何使用xpath获取节点属性的最大值?

chw1103 2012-05-06 02:55:26
<?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>
...全文
206 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2012-05-06
  • 打赏
  • 举报
回复
顺便说下,如果你查询这么写:

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


<employee1 EmpID="1" EmpName="洪石丹" EmpAge="25" EmpSex="男"></employee1>
可以返回整个年龄最大的用户记录

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


这个返回的是id最大的。

<employee1 EmpID="45" EmpName="aa" EmpAge="20" EmpSex="女" />
threenewbee 2012-05-06
  • 打赏
  • 举报
回复
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);
}
}
}


25
bdmh 2012-05-06
  • 打赏
  • 举报
回复

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧