Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Чтение XML


Автор: lazycoder 12.11.2014, 03:19
Всем привет! Помогите пожалуйста прочитать этот https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=3
Заранее спасибо!

Автор: Ilya81 12.11.2014, 13:02
Пример (не проверял):
Код

XElement.Parse(yourXml).Descendants(XName.Get("exchangerate")).Select(e=> new
{
ccy = e.Attribute(XName.Get("ccy")).Value,
//...
});

Автор: lazycoder 12.11.2014, 13:40
Спасибо, но не работает

Код

Ошибка    1    "System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>" не содержит определения для "Select" и не был найден метод расширения "Select", принимающий тип "System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)    E:\Projects\TestCourse\TestCourse\Program.cs    15    130    TestCourse


Автор: Rockie 12.11.2014, 14:23
Цитата

Всем привет! Помогите пожалуйста прочитать этот XML Файл


lazycoder, не будьте столь ленивы smile
выложите свои попытки и что у вас не получается. 

Автор: Ilya81 12.11.2014, 17:31
Цитата(lazycoder @ 12.11.2014,  13:40)
Спасибо, но не работает

Код

Ошибка    1    "System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>" не содержит определения для "Select" и не был найден метод расширения "Select", принимающий тип "System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)    E:\Projects\TestCourse\TestCourse\Program.cs    15    130    TestCourse


LINQ подключите.

Автор: lazycoder 12.11.2014, 19:42
LINQ подключен. Все равно не работает

Автор: Rockie 12.11.2014, 20:49
http://segfault.kiev.ua/smart-questions-ru.html

Автор: lazycoder 12.11.2014, 22:04
Код

XmlDocument xml = new XmlDocument();
            xml.LoadXml("http://resources.finance.ua/ru/public/currency-cash.xml");

            XmlNodeList xnList = xml.SelectNodes("/rates/city/rate/currency");
            foreach (XmlNode xn in xnList)
            {
                string code = xn["code"].InnerText;
                string value = xn["value"].InnerText;
                Console.WriteLine("Name: {0} {1}", code, value);
            }
            
            Console.ReadKey();


Необработанное исключение типа "System.Xml.XmlException" в System.Xml.dll
В чем дело?

Автор: Rockie 13.11.2014, 13:57
Для первого случая

Код

            try
            {
                XmlDocument doc = new XmlDocument();

                doc.Load("https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=3");

                XmlNodeList nodeList = doc.SelectNodes("/exchangerates/row");

                foreach (XmlNode node in nodeList)
                {
                    Console.WriteLine(node.FirstChild.Attributes["buy"].Value);
                }
            }
            catch (Exception ex)
            {
                 Console.WriteLine("Exception in  " + ex.ToString());
            }


А во втором случае imho либо док кривой, либо сервер не отдаёт его. Можно попробовать https://stackoverflow.com/questions/26774752/xdocument-loadfeedurl-returns-data-at-the-root-level-is-invalid-line-1-posi, если очень хочется

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)