использование LINQ to XML для запроса внутреннего xml дочерних узлов - PullRequest
3 голосов
/ 21 июля 2009

Допустим, у меня есть этот xml:

<items>
  <item name="thumb">
    <downloadStream>test1</downloadStream>
    <downloadStream>test2</downloadStream>
    <downloadStream>test3</downloadStream>
  </item>
  <item name="photo">
    <downloadStream>test5</downloadStream>
    <downloadStream>test6</downloadStream>
    <downloadStream>test7</downloadStream>
  </item>
</items>

Я пытаюсь написать оператор LINQ to XML, который возвращает меня:

{"test5", "test6", "test7"}

Другими словами, он возвращает мне внутренний xml для каждого узла "downloadStream", где родительский узел имеет атрибут (name = "photo").

Как мне это сделать?

1 Ответ

8 голосов
/ 21 июля 2009

Примерно так:

            var rootElement = XElement.Parse(xml);
            var results = rootElement.
               .Elements()
               .Where( e => e.Attribute("name") == "photo" )
               .SelectMany( e => e.Elements )
               .Select( e => e.Value );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...