为什么MaxId函数在xml中总是返回9 ?
本文关键字:返回 MaxId 函数 xml 为什么 | 更新日期: 2023-09-27 18:02:49
我使用MaxId
函数在我的xml文件中返回最大id,但它总是返回9,我不能用正确的id插入新记录。
<?xml version="1.0" encoding="utf-8"?>
<TestTag>
<Test Id="1" devicename="desk" date="2012-02-01T00:00:00" username="z" />
<Test Id="2" devicename="c" date="2012-02-01T00:00:00" username="z"/>
.
.
.
<Test Id="12" devicename="q" date="2012-02-01T00:00:00" username="z"/>
<Test Id="13" devicename="m" date="2012-02-01T00:00:00" username="z"/>
</TestTag>
我使用这个MaxId函数:
public string MaxId()
{
string maxNr = xd.XPathSelectElements("//TestTag/Test")
.Max(c => (string)c.Attribute("Id"));
return maxNr; // it is always 9
}
.Max(c => (string)c.Attribute("Id"))
将选择最大的字符串。"9"> "77"
所以要么让你的属性可排序("0009" <"0077")或转换为int:
.Max(c => int.parse(c.Attribute("Id").Value))