Russian Qt Forum

Qt => Работа с сетью => Тема начата: Lemur от Февраль 20, 2011, 20:11



Название: QWebFrame переставляет тэги в html и "обрезает" его
Отправлено: Lemur от Февраль 20, 2011, 20:11
Доброе время суток.
Я ньюб в C++ и Qt, прошу отнестись с пониманием. Есть html страница со сложным форматированием(например http://www.vsetv.com/schedule_package_uabase_day_2011-02-21.html). Сохраняю на винте и запихиваю в QWebFrame. Через QWebView страница выводиться нормально(ничего не отрезано). Однако если вывести содержимое с QWebFrame на QDebug() или сделать поиск тэгов(findAll), то становиться ясно что во первых хтмл сильно порезан(фактически только начало файла), во-вторых вебфрэйм самовольно расставил завершающие тэги совершенно, не там, где они находились в оригинальном хтмл. Что произошло? Можно ли с этим бороться? Мне удобно было бы искать элементы по html именно таким образом. И вопрос вдогонку, не совсем по теме: какое ограничение по выводу на экран есть у qDebug()? сколько символов? Спасибо!

    QWebView webView;
    QWebFrame *frame = webView.page()->mainFrame();     
    frame->setHtml(stringFromFile);
    qDebug() << "frame html value: " << frame->toHtml();


    QWebElement document = frame->documentElement();

    QWebElementCollection collection = document.findAll("tr");
    foreach (QWebElement paraElement, collection) {

         qDebug() << "> Element value <: " << paraElement.toOuterXml();
     }

    webView.show();