|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.02.2012, 00:39 | #1 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
XDocument. Разбор загруженного сайта
Всем доброго. Встала задача: Быстро скачать из некоего сайта все файлы с расширением XXX.
Предпологаю что .NET оснащен мошной системой разбора XML структуры (в часности хочу сделать упор на LINQ to XML) Поскольку никогда не сталкивался в плотную с этим начал с начала: Код:
Цитата:
2) Правильно ли я начал? Может быть необходимо использовать другие методики для разбора сайта?
I'm learning to live...
|
|
05.02.2012, 02:34 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Виталий, поделюсь опытом небольшим(правда я применял XmlDocument)
1)создавая свой StreamReader укажешь чт угодно 2)помни что не каждый XHTML соответствует стандарту. а уж HTML не обязан быть корректным XML в принципе. я лично обрезал нужную мне часть документа в ней правил ошибки не соответствующие XML, и потом через XPath доставал все что мне нужно. но тут но в самой правке документа, не уютно это. потому далее я буду применять(мне тот сайт еще много парсить) HTMLAgility. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.02.2012, 11:06 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
P.S. А я то наивно полагал что HTML имеет структуру XML по всем правилам...
I'm learning to live...
|
|
05.02.2012, 12:31 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
http://htmlagilitypack.codeplex.com/
набор классов который по функциональности почти как XmlDocument(по крайней мере XPath есть) Цитата:
но http://validator.w3.org/check?uri=ht...Inline&group=0 мне было проще отрезать нужное и исправлять в нем. (тогда не знал про HTMLAgility) парсил это http://www.pwdatabase.com/ru/lvl/0-9 (заходя в каждого моба и переходя к след таблице) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
05.02.2012, 12:41 | #5 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
XmlDocument - более удобный, но медленный
XmlTextReader - менее удобный, зато быстрый. XPath - разбор. |
05.02.2012, 13:55 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
_-Re@l-_, если документ не являеться корректным xml то все это прахом.
и XmlDocument хороший класс. а как я понимаю XmlTextReader это вообще ручное чтение с ручным разбором? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.02.2012, 14:54 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
05.02.2012, 14:59 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я лично применял ту самую HTMLAgility вместо XmlDocument, код не сильно отличаеться.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.02.2012, 15:02 | #9 | ||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
а насчёт корректности - средства .NET также позволяют проверить xml на корректность, используя классы XmlSchemaSet и XmlReaderSettings. Цитата:
|
||
05.02.2012, 15:05 | #10 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
мне загрузить надо то что есть. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие файла, предварительно загруженного в файл ресурсов Win32 приложения | alexandersson | Win Api | 1 | 16.04.2011 21:54 |
md5 загруженного изображения | bulldog5293 | Общие вопросы Delphi | 2 | 10.03.2011 21:57 |
Cохранить картинку с сайта загруженного в WebBrowser компонент | Terikon | Работа с сетью в Delphi | 1 | 22.11.2010 02:50 |
Как узнать разрешение изображения *.bmp, загруженного в TBitmap? | ImmortalAlexSan | Мультимедиа в Delphi | 2 | 22.07.2010 17:03 |
Сохранение загруженного в TImage изображения в папку с программой | Torymo | Помощь студентам | 1 | 06.02.2009 03:41 |