Xpoint
   [напомнить пароль]

Парсинг HTML, загруженного при помощи XMLHttpRequest

2006-08-15 15:51:10 [обр] KML [досье]

Мне нужно обработать страницу при помощи javascript и отослать результаты на сервер, результаты или саму страницу в браузере отображать не нужно. Столкнулся с проблемой, при попытке распарсить responseText получаю XMLDocument вместо HTMLDocument:

var response = loginRequest.responseText;
var htmlDoc = new DOMParser().parseFromString(response, 'application/xhtml+xml');

Возможно ли каким-то образом получить желанный HTMLDocument?

спустя 1 час 4 минуты [обр] Владимир Палант [досье]

А какая разница — тем более, что отображать этот документ вы не хотите? Они ведь почти идентичны.

PS: Есть еще loginRequest.responseXML — это чтобы не парсить текст второй раз.

спустя 6 минут [обр] KML [досье]
В том то и дело, что loginRequest.responseXML=null, а XMLDocument не смог полностью распарсить HTML. Т.е. XML получился невалидный, и толком работать с ним невозможно.
спустя 6 минут [обр] Владимир Палант [досье]
А, так у вас там HTML, а не XHTML... Это проблема — насколько я знаю, распарсить HTML сейчас можно только одним способом. Нужен существующий HTML-документ, присвойте ваш текст там в innerHTML какого-нибудь элемента.
спустя 12 минут [обр] KML [досье]

Хм... странно... на страничке присутствует ссылка на xhtml нэймспейс:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

А возможно ли загрузить html в скрытом окне? Чтобы пользователь не видел этого?

спустя 15 минут [обр] Давид Мзареулян [досье]
В принцпе, может сработать. Как-нибудь так:
document.frames["myIframe"].document.open();
document.frames["myIframe"].document.write(rawHTML);
document.frames["myIframe"].document.close();
спустя 42 минуты [обр] KML [досье]
Давид Мзареулян[досье], нашел похожее решение на forum.mozilla.ru, вроде работает.
спустя 3 часа 42 минуты [обр] Владимир Палант [досье]
Namespace — это XML. Такое объявление имеет смысл только для валидного XHTML-документа, в HTML оно не к месту. Вообще, я бы вам скорее порекомендовал перевести свой HTML-код в XHTML, если его не слишком много. Проблем будет намного меньше.
спустя 4 часа 7 минут [обр] KML [досье]
В том то и дело, что я к этому HTML-ному коду вообще никакого отношения не имею. Это вообще сторонний сайт.
Powered by POEM™ Engine Copyright © 2002-2005