Я пытаюсь получить список элементов из документа XML, где узлы имеют определенное значение атрибута.Документ структурирован примерно так:
<root>
<node type="type1">some text</node>
<node type="type2">some other text</node>
<node type="type1">some more text</node>
<node type="type2">even more text</node>
</root>
В результате я хотел бы получить IEnumerable<XElement>
, содержащий два узла с type = "type1", например,
<node type="type1">some text</node>
<node type="type1">some more text</node>
Я загружаю документ, используя var doc = XDocument.Load(@"C:\document.xml");
Я могу получить IEnumerable<XAttribute>
, содержащий атрибуты от узлов, которые я хочу использовать
var foo = doc.Descendants("node")
.Attributes("type")
.Where(x => x.Value == "type1")
.ToList();
Однако, если я пытаюсь получить элементыкоторые содержат эти атрибуты, используя код ниже, я получаю ошибку Object reference not set to an instance of an object.
.Код, который я использовал:
var bar = doc.Descendants("node")
.Where(x => x.Attribute("type").Value == "type1")
.ToList();
Любая помощь в выяснении, почему я не получаю ожидаемых результатов, будет оценена.