Библиотеки для работы с интернетом - C#

Узнай цену своей работы

Формулировка задачи:

подскажите какой литературой пользоваться чтобы научиться работать с информацией, получаемой из интернета? или хотя бы какими библиотеками? тестовое задание: есть игра EVE online, в ней есть рынок. информацию о стоимости каких либо товаров (на продажу и на закупку) можно получить из API игры. для этого надо для продукта с кодом X пройти по ссылке http://api.eve-central.com/api/marketstat?typeid="Х"&usesystem=30000142&hours=16 если X=2393, то ссылка выглядит так http://api.eve-central.com/api/marke...00142&hours=16 если открыть в браузере, то будет чисто строка, но если в режиме разработчика посмотреть структуру, то там сидит таблица. как из этой таблицы импортировать данные используя XML? например buy/volume. например скрипт для Экселевского импорта выглядит так:
Public Function ImportXML(ByVal url As String, ByVal XPath As String) As Variant
On Error GoTo errHandle
    Dim pDoc As Object, t As Single, pNode As Object
    Set pDoc = CreateObject("MSXML2.DOMDocument")
    t = Timer
    pDoc.Load url
    Do Until (pDoc.readyState = 4) Or ((Timer - t) > 1)
        DoEvents
    Loop
    If pDoc.readyState <> 4 Then ImportXML = CVErr(XlCVError.xlErrRef): Exit Function
    Set pNode = pDoc.SelectSingleNode(XPath)
    If pNode Is Nothing Then ImportXML = CVErr(XlCVError.xlErrNull): Exit Function
    ImportXML = pNode.Text
Exit Function
errHandle:
    ImportXML = CVErr(XlCVError.xlErrNA)
End Function
вот что-то подобное для C# можно увидеть?

Решение задачи: «Библиотеки для работы с интернетом»

textual
Листинг программы
using System;
using System.Linq;
using System.Xml.Linq;
 
class Program
{
    static void Main()
    {
        var url = @"http://api.eve-central.com/api/marketstat?typeid=2393&usesystem=30000142&hours=16";
        var doc = XDocument.Load(url);
        var data = doc.Element("evec_api") // <evec_api version="2.0" method="marketstat_xml">
            .Element("marketstat")         //   <marketstat>
            .Element("type")               //       <type id="2393">
            .Elements()                    //           <buy> | <sell> | <all>
            .Select(e => new
            {
                Type = e.Name,
                Volume = (string)e.Element("volume"),
                Average = (double)e.Element("avg"),
            });
 
        foreach (var row in data) Console.WriteLine(row);
        Console.ReadLine();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5
Похожие ответы