我使用MaxId
函数返回我的xml文件中的最大ID,但它总是返回9,我无法插入具有正确id的新记录。
xml文件:
<?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
}
答案 0 :(得分:4)
.Max(c => (string)c.Attribute("Id"))
将选择最大的字符串。并且“9”&gt; “77”
因此,要么使您的属性可排序(“0009”&lt;“0077”)或将它们转换为int:
.Max(c => int.parse(c.Attribute("Id").Value))