Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> соединение с интернет, считать выборочные части сайта 
:(
    Опции темы
biZZon
Дата 14.4.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.6.2007

Репутация: нет
Всего: нет



ночь прокопался на оф. сайте МСДН, не смог найти ничего путного. 
я хочу написать маленький клиент, который устанавливает соединение с сайтом и считывает с него определённый тэг, к примеру таблицу.
полагаю, что конектиться надо через WebRequest, а вот что дальше - не смог найти решения. подскажите уже готовый класс в .Net для работы с содержанием вебсайта, чтоб можно было просто задать имя элемента, который мне нужен и получить его в более-менее приемлимом виде (колекции или "поля").

попытка номер два:
если я правильно понял, то чтобы представить документ типа XML в виде класса объекта, можно использовать десериализацию XML. может кто-нибудь помочь в этом направлении? в библиотеке MSDN есть пример, но я не могу понять, как компилятор присваивает членам класса одноимённые теги из документа xml. то есть самое главное - я не могу уловить.

Код


using System;
using System.IO;
using System.Xml.Serialization;

// This is the class that will be deserialized.
public class OrderedItem
{
   [XmlElement(Namespace = "http://www.cpandl.com")]
   public string ItemName;
   [XmlElement(Namespace = "http://www.cpandl.com")]
   public string Description;
   [XmlElement(Namespace="http://www.cohowinery.com")]
   public decimal UnitPrice;
   [XmlElement(Namespace = "http://www.cpandl.com")]
   public int Quantity;
   [XmlElement(Namespace="http://www.cohowinery.com")]
   public decimal LineTotal;
   // A custom method used to calculate price per item.
   public void Calculate()
   {
      LineTotal = UnitPrice * Quantity;
   }
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      // Read a purchase order.
      t.DeserializeObject("simple.xml");
   }

   private void DeserializeObject(string filename)
   {   
      Console.WriteLine("Reading with Stream");
      // Create an instance of the XmlSerializer.
      XmlSerializer serializer = 
      new XmlSerializer(typeof(OrderedItem));
      // Reading the XML document requires a FileStream.
      Stream reader= new FileStream(filename,FileMode.Open);

      // Declare an object variable of the type to be deserialized.
      OrderedItem i;

      // Call the Deserialize method to restore the object's state.
      i = (OrderedItem) serializer.Deserialize(reader);

      // Write out the properties of the object.
      Console.Write(
      i.ItemName + "\t" +
      i.Description + "\t" +
      i.UnitPrice + "\t" +
      i.Quantity + "\t" +
      i.LineTotal);
   }
}


а вот код исходника xml

Код

<?xml version="1.0"?>
 <OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
   <inventory:ItemName>Widget</inventory:ItemName>
   <inventory:Description>Regular Widget</inventory:Description>
   <money:UnitPrice>2.3</money:UnitPrice>
   <inventory:Quantity>10</inventory:Quantity>
   <money:LineTotal>23</money:LineTotal>
 </OrderedItem>



я пока что понял, что компилятор считывает текст из документа XML, ищет в заданном классе имена переменных, которые соответствуют именам тэгов, и передаёт переменным значения тегов? то есть, достаточно просто объявить класс, который содержит такие же переменные как и документ XML???

и напоследок вопрос по форуму: как менять название темы? согласен, я не выразил суть проблемы, но только потому , что не знаю как кратко и точно это сделать.

Это сообщение отредактировал(а) biZZon - 15.4.2009, 02:29
PM MAIL   Вверх
-Mikle-
Дата 14.4.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 1
Всего: 59



Модератор: Название темы должно отражать ее суть!

Используйте для этих целей HTML Parser, коих полно в инете... Наберите в гугле...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.3126 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.