Маленькая помощь с XLinq - PullRequest
1 голос
/ 07 июня 2011

У меня есть этот XML:

<Test>
    <element>toto</element>
    <element>tata</element>
</Test>

Как я могу получить узлы "элемент" ?.Я вижу в Интернете, что я могу получить их:

var elements = from element in xmlDoc.Descendants("element")
               select element;

Но "элементы" пусто!

РЕДАКТИРОВАТЬ 1: Я загружаю XDocument с этимточный XML:

<Test xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
    <element>toto</element>
    <element>tata</element>
</Test>

Ответы [ 2 ]

2 голосов
/ 07 июня 2011

Хорошо, есть ваша проблема, ваши имена должны быть указаны в соответствующем пространстве имен XML.

XNamespace ns = "http://schemas.microsoft.com/ado/2007/08/dataservices";
var elements = xmlDoc.Descendants(ns + "element");
0 голосов
/ 07 июня 2011

Вероятно, проблема в том, как вы создаете объект XDocument. Следующий код прекрасно работает для меня:

var doc = XDocument.Parse(@"
    <Test>
        <element>toto</element>
        <element>tata</element>
    </Test>");
var elements = doc.Descendants("element");
//prints "2"
Console.WriteLine(elements.Count());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...