【发布时间】:2020-03-18 14:53:27
【问题描述】:
我有以下 XML。
<Bd>
<GEvt ZipCode="xyz" EvtDtm="2020-03-12T02:26:35+01:00"></GEvt>
<GEvt ZipCode="abc" EvtDtm="2020-03-12T02:32:35+01:00"></GEvt>
<GEvt ZipCode="def" EvtDtm="2020-03-12T02:34:35+01:00"></GEvt>
</Bd>
我不需要前两个。我只需要最后一个;
<GEvt ZipCode="def" EvtDtm="2020-03-12T02:34:35+01:00"></GEvt>
这是我的代码;
var lineItemDetails = xdoc.Root?.Descendants("Bd");
foreach (var lineItemDetail in lineItemDetails?.Nodes().OfType<XElement>())
{
var ZipCode = lineItemDetail?.Attribute("ZipCode")?.Value;
var EvtDtm = lineItemDetail?.Attribute("EvtDtm")?.Value;
Console.WriteLine(ZipCode);
Console.WriteLine(EvtDtm);
}
它工作正常,但它从 XML 返回所有 3 个值。但是我只需要最后一个。我尝试使用 Last() 但它没有用。使用 Last() 给我带来最后一个字符。我只需要这个;
<GEvt ZipCode="def" EvtDtm="2020-03-12T02:34:35+01:00"></GEvt>
如何实现呢?我错过了什么?
【问题讨论】:
标签: c# xml xml-parsing xelement