c# XML 解析 - 最后一个节点 (linq)

c# XML parsing - last node (linq)

这是我的XML:

   <start>
  <Move id = "1">
    <X1>234</X1>
    <Y1>234</Y1>
    <Z1>234</Z1>
  </Move>
  <Move id = "2">
    <X1>546</X1>
    <Y1>56</Y1>
    <Z1>345</Z1>
  </Move>
<start>

现在这是我用来创建它的代码:

XDocument doc = new XDocument( new XElement( "start", 
 new XElement( "Move", new XAttribute("id", ""),
 new XElement( "X1", x1 ), 
  new XElement( "Y1", y1), 
 new XElement( "Z1", z1 ))));

每次我启动我的程序时,我都会将节点附加到这个 XML 文件,为此我需要检索最后一个节点,它会给我节点 ID。

所以简而言之... "How do i access last node?"

我尝试过,但没有成功。

有人可以帮忙吗?

谢谢!

解析 xml:

var xdoc = XDocument.Parse(xml);

然后

int id = (int?)xdoc
    .Elements("start")
    .Elements("Move")
    .Attributes("id")
    .LastOrDefault() ?? 0;
如果没有 Move 个元素,

id 将为 0,否则为最后一个 id

请注意,如果您愿意,

int? id = (int?)xdoc
    .Elements("start")
    .Elements("Move")
    .Attributes("id")
    .LastOrDefault();

如果没有 Move 个元素,现在 id 将为 null,否则为最后一个 id