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

时间:2015-04-08 09:12:49

标签: c# linq-to-xml

这是我的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。

简而言之......“我如何访问最后一个节点?”

我试过但没有成功。

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

解析xml:

var xdoc = XDocument.Parse(xml);

然后

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

Move将为0,否则为id

请注意,如果您愿意,

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

如果没有id元素,则null现在为Move,否则为id