Цитата(Artemon @ 29.4.2011, 19:34 ) | | Мой старый код мог это делать, но проблема все таже (выбирается только один элемент). |
Всё аналогично:
| Код | var queryTables = xElement .Element("SyncAdd") .Element("Tables") .Elements("Table") .Select(s => new { Tables = (XElement)s, TableName = (string)s.Attribute("Name") });
|
Цитата(Artemon @ 29.4.2011, 19:55 ) | | Вопрос в догонку, чем отличается xElement.Element("SyncAdd") от xElement.Descendants("SyncAdd") |
Element ищет объект в подэлементах xElement 1 уровня (в данном случае он только один - Tables), а Descendants ищет элемент вообще во всех подэлементах xElement - всё что вложено в теги <SyncAdd></SyncAdd> http://msdn.microsoft.com/ru-ru/library/system.xml.linq.xcontainer.element.aspx http://msdn.microsoft.com/ru-ru/library/bb353813.aspx |