| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > парсинг HTML форм |
| Автор: theHelg 25.6.2009, 13:12 | ||
| Добрый день! Достаю страницу через
Затем пытаюсь перевести html в xml, чтобы использую xpath можно было достучаться до нужного элемента. Использовал статью и код проекта отсюда: http://blogs.gotdotnet.ru/personal/poigraem/PermaLink.aspx?guid=d0fd3f90-d3e4-4940-a62b-4fcfc172b85e В итоге, простые сайты (или точнее, хорошо структурированные) типа yandex.ru SgmlReader парсит на ура, но с более сложными - лезет на сайт http://www.w3.org/ и скачивает обновления, что ли? Фидлер показывает: GET http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 200 OK GET http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent 200 OK GET http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent 200 OK GET http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent 200 OK А как можно это все скачать и подложить куда-нибудь в папку солюшина? А то на каждый запрос к SgmlReaderу он лезет и скачивает эти файлы... Как я понял, это происходит в случае, если в заголовке страницы стоит: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Как это можно побороть? |
| Автор: diadiavova 26.6.2009, 00:39 |
| Там есть несколько свойств для работы с DTD, я посмотрел вроде как свойство Dtd как раз позволяет использоват кэшированные версии схем. Кроме того, для разбора хтмл схема вообще ни к чему, так что можно перед разбором просто удалить доктайп и всё. Кроме того, взгляни http://developer.mindtouch.com/SgmlReader. Там есть форум по sgmlreader'ру и кроме того там как они пишут лежит исправленная его версия. Попробуй. |
| Автор: theHelg 26.6.2009, 13:28 |
| Спасибо, попробую |