Получить последний элемент в C # с помощью XElement

#c# #xml #xelement

#c# #xml #xelement

Вопрос:

У меня есть XML-канал, загруженный в XElement.

Структура

 <root>
<post></post>
<post></post>
<post></post>
<post></post>
.
.
.
.
<post></post>
</root>
 

Я хочу напрямую получить значение последнего сообщения. Как я это делаю, используя XElement в C #.

Спасибо.

Ответ №1:

Или попробуйте это, чтобы получить XElement:

 XDocument doc = XDocument.Load("yourfile.xml");          
XElement root = doc.Root;
Console.WriteLine(root.Elements("post").Last());
 

Ответ №2:

Вы можете использовать LastNode свойство для корневого элемента:

 XElement root = doc.Root;
XElement lastPost = (XElement)root.LastNode;
 

Ответ №3:

 var doc = XDocument.Parse(xml);
var lastPost = doc.Descendants("post").Last();
 

Ответ №4:

Попробуйте это:

 rootElement.Descendants().Last()
 

Если вы не уверены, что они будут, вы также можете использовать LastOrDefault() . Если могут быть другие элементы, кроме внутри, существует перегрузка потомков, которая позволит вам найти только те записи, которые вы ищете.

Ответ №5:

Попробуйте это

 XDocument doc= XDocument.Load("path to xml");
var last=doc.Root.LastNode;