2013-03-02 5 views
0

У меня есть XML, как это:Выберите узлы-потомки, которые имеют разные имена с помощью LINQ

<root> 
    <data> 
    <_0> 
    <value1></value1> 
    <value2></value2> 
    </_0> 
    <_1> 
    <value1></value1> 
    <value2></value2> 
    </_1> 
</data> 
</root> 

Я хочу, чтобы все потомки узла данных и в настоящее время с помощью:

var descendants = from descendant in xdoc.Descendants("data") 
         select descendant; 

Но все, что возвращается весь текст, содержащийся между элементом данных. Как я могу получить список всех потомков, которые начинаются с разных имен, таких как _0, _1, _2 и т. Д. Они всегда будут прямыми потомками узла данных, поэтому должен быть способ получить только те. Любая помощь будет принята с благодарностью, поскольку я не много работал с LINQ. Thanks

ответ

0

Вы можете Элементы(), чтобы получить детей. Как это, вероятно:

var descendants = from descendant in xdoc.Descendants("data") 
         select descendant.Elements(); 

Хотя это, вероятно, чище использовать лямбда Synta вместо синтаксиса запросов понимания:

var descendants = xdoc.Descendants("data").Elements(); 
+0

Спасибо, что сделали это! – user2052637

 Смежные вопросы

  • Нет связанных вопросов^_^