В LINQ to XML нет определенного класса, который эквивалентен XmlNodeList, поскольку LINQ to XML просто работает с последовательностью узлов IEnumerable<XNode>
или последовательностью элементов IEnumerable<XElement>
. Когда вы выбираете некоторые узлы, он просто дает совпадающие узлы один за другим. Вы можете сохранить последовательность в списке или другой коллекции, если хотите. Например
var items = xdoc.Root.Elements("item").ToList();
Для вашего кода просто выбрать элементы и использовать LINQ Any()
метод, чтобы проверить, существуют ли какие-либо элементы:
xdoc.Root.Elements("item").Any()
// items.Any()
Вы также можете использовать Count()
, чтобы получить число элементов. Конечно XPath также
xdoc.XPathSelectElements("root/item").Count()
// items.Count
Я пытаюсь преобразовать мое приложение UWP, и это действительно не нравится XML Я в настоящее время есть, я чувствую, что должен, возможно, сделать несколько больше читать на XDocuments. Использование вашего кода, похоже, делает то, что я так хотел, спасибо, и я отмечу это как ответ. – TLCONE
@TLCONE LINQ to XML - хороший выбор. Я предлагаю вам прочитать некоторый учебник и/или попробовать его с помощью LINQ Pad. Существует вкладка * Samples *, где вы можете найти учебник по C# 6 LINQ to XML –