У меня есть большой, беспорядочный XML-файл, и я хочу получить ВСЕ элементов с тем же именем («Item» для этого сообщения), затем иметь возможность получать данные от детей каждого элемента.Не удается перебрать дочерние элементы возвращаемых XML-узлов в C#
До сих пор я возвратил список каждого элемента под названием «Item», используя этот код, который просто отображает URL пространства имен и «Элемент» в р теги:
XDocument doc = XDocument.Load(@"C:\inetpub\wwwroot\mysite\myxml.xml");
XNamespace ns = "http://www.mynamespace.com";
var nodes = doc.Descendants().Elements(ns + "Item").Select(d => d.Name).ToList();
foreach(var x in nodes){
<p>@x</p>
}
Однако, путем внесения изменений в код следующее, я не могу получить какие-либо данные о его детей, и я получаю ошибку «System.Xml.Linq.XName» не содержит определения для "потомков:
foreach(var x in nodes){
<p>@x.Descendants().Element("Name")</p>
}
Вот очень базовая версия моего XML-файла:
<Item>
<Name>Item 1</Name>
<Type>Type 1</Type>
</Item>
Я хочу, чтобы иметь возможность искать элемент «Элемент» для элемента «Имя» и возвращать значение. Может ли кто-нибудь увидеть, где я ошибаюсь?