Форум программистов, компьютерный форум, киберфорум
Наши страницы
LINQ
Войти
Регистрация
Восстановить пароль
 
MRabaev
7 / 7 / 1
Регистрация: 27.09.2014
Сообщений: 43
1

LINQ to XML: Получить значения всех аттрибутов узла

27.12.2015, 21:00. Просмотров 378. Ответов 2
Метки нет (Все метки)

Друзья, всем привет.
Кто нибудь может подсказать как написать правильно запрос, используя xml linq, для того, чтобы достать все значения currency и rate из xml по ссылке?

http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

Сам написал вот что, но понимаю что это полный бред.
Проблема в том, что имеется несколько родительских узлов с одинаковыми именами.
Заранее огромное спасибо.

C#
1
2
3
4
5
6
7
 var elements = from xDoc in xDocument.Descendants("Cube")
                        where xDoc.Attribute("currency") != null && xDoc.Attribute("rate") != null
                        select new
                        {
                            name = (string)xDoc.Attribute("currency").Value,
                            rate = (string)xDoc.Attribute("rate").Value
                        };
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2015, 21:00
Ответы с готовыми решениями:

LINQ to XML: Заменить значения атрибутов всего узла
Можно ли заменить значения атрибутов всего узла UserCart для юзера с именем...

Поиск узла по атрибуту с помощью LINQ to XML
Как найти узел по атрибуту и удалить? Как найти узел по атрибуту и изменить...

LINQ to XML: Вывести значения атрибутов из файла
Доброго времени суток, форумчане! Подскажите что не так в моём коде, не судите...

Как получить значения объектов класса используя IEnumerable и linq
Добрый день! Пожалуйста помогите. Как получить значения объектов класса Class1,...

Как получить значение одного узла по значению другого узла?
Всем благополучия. Помогите разобраться с вроде несложной ситуацией, плз....

2
Ev_Hyper
Заблокирован
28.12.2015, 02:14 2
MRabaev, подход правильный, вы только забыли добавить namespace:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            XDocument xd = XDocument.Load("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
            var xname = xd.Root.GetDefaultNamespace();
            var xs =
                xd.Root
                .Descendants(xname + "Cube")
                .Where(x => x.Attribute("currency") != null && x.Attribute("rate") != null)
                .Select(x =>
                    new
                    {
                        currency = (string)x.Attribute("currency"),
                        rate = (double)x.Attribute("rate")
                    })
                 .ToList();
            xs.ForEach(Console.WriteLine);
https://dotnetfiddle.net/TOXGrR

P.S. .Value и так вернет string, но лучше кастовать, чем обращаться к свойству.
1
MRabaev
7 / 7 / 1
Регистрация: 27.09.2014
Сообщений: 43
28.12.2015, 14:12  [ТС] 3
Огромное спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2015, 14:12

При помощи LINQ to XML считать параметры из XML
Помогите при помощи LINQ to XML считать следующие параметры из XML: id,...

Парсинг XML-файла с помощью LINQ to XML
Здрасивуйте. Трабл никак не могу понять в чем дело не могу считать инфу с XML...

Получение узла XML
День добрый. Имеется следующий XML: <?xml version="1.0" encoding="utf-8"?>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru