gpt4 book ai didi

c# - 如何找到 XML 文件中属性值的最大值?

转载 作者:数据小太阳 更新时间:2023-10-29 02:26:35 27 4
gpt4 key购买 nike

我有一个具有以下结构的 XML 文件:

<doc>
<rootelement>
<childelement id="0" />
<childelement id="1" />
.
.
</rootelement>
</doc>

我想找到id属性的最高数值

我的想法是这样的:

int highest = -1;
foreach(var node in xmldoc.SelectNodes("//doc/rootelement/childelement"))
{
highest = Math.Max(GetID(node), highest);
}

其中 GetID(XMLNode) 将检索当前节点的属性值。

是否有更紧凑(或更高效)的 XPath 表达式来做到这一点?

最佳答案

您可以使用 Linq to Xml:

var xdoc = XDocument.Load(path_to_xml);
var maxId = xdoc.XPathSelectElements("//doc/rootelement/childelement")
.Max(c => (int)c.Attribute("id"));

或者没有 XPath:

var maxId = xdoc.Root.Elements("rootelement")
.Elements("childelement")
.Max(c => (int)c.Attribute("id"));

使用 XmlDocument:

var maxId = doc.SelectNodes("//doc/rootelement/childelement")
.Cast<XmlElement>()
.Max(c => Int32.Parse(c.Attributes["id"].Value));

关于c# - 如何找到 XML 文件中属性值的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22349438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com