Разница между Ling to XML между NF 3.5 и 4.0 - PullRequest
0 голосов
/ 29 июля 2011
/*  @"C:\xml\xml2.xml"

<?xml version="1.0" encoding="utf-8"?>
<food>
<fruits>
<fruit>Apple</fruit>
<fruit>Orange</fruit>
<fruit>Melon</fruit>
<fruit>Watermelon</fruit>
</fruits>
</food>


string xml_path2 = @"C:\xml\xml2.xml";
            XDocument doc2 = XDocument.Load(xml_path2);
            var qry2 = doc2.Descendants("fruits").Select(n => n.Element("fruit").Value);
            foreach (var item in qry2) {
                Console.WriteLine(item);
            }

Вывод: показывать только яблоко, а не показывать все фрукты

Я использую Visula Studio 2008 и Net FrameWork 3.5. Почему это показывает так?

1 Ответ

1 голос
/ 29 июля 2011
 doc2.Descendants("fruits").Select(n => n.Element("fruit").Value);

Это найдет один элемент <fruits>, затем к нему будет применен метод Element(name). XContainer.Element определяется (мой акцент):

Получает первый (в порядке документа) дочерний элемент с указанным именем XName.

Таким образом, вы получите только один результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...