Библиотеки для работы с интернетом - 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. например скрипт для Экселевского импорта выглядит так:
вот что-то подобное для C# можно увидеть?
Листинг программы
- 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
Решение задачи: «Библиотеки для работы с интернетом»
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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д