Russian Qt Forum

Qt => XML => Тема начата: nixman05 от Сентябрь 03, 2011, 15:19



Название: XQuery и парсинг html документа
Отправлено: nixman05 от Сентябрь 03, 2011, 15:19
Здравствуйте.

Есть необходимость из html документа вытащить определенные данные
Документ корректен, т.к. QXmlQuery его корректно загружает
Но при этом никакие запросы не выполняются (результат равен "\n", но в FireBug они выдают корректный результат)

т.е. даже данный запрос ничего не выдает
Код
C++ (Qt)
   query.setQuery("declare namespace x = \"http://www.w3.org/1999/xhtml/\";"
                  "doc('file.dat')/x:html/x:body");
   QString s;
   query.evaluateTo(&s);
 


В чем может быть причина?


Название: Re: XQuery и парсинг html документа
Отправлено: alexman от Сентябрь 03, 2011, 15:41
xQuery/xPath не совсем подходят для html


Название: Re: XQuery и парсинг html документа
Отправлено: alexman от Сентябрь 03, 2011, 15:52
Для запросов можно использовать возможности webkit+Standard CSS2 selector.

из асиста:
QWebElement QWebElement::findFirst ( const QString & selectorQuery ) const
Returns the first child element that matches the given CSS selector selectorQuery.
Standard CSS2 selector syntax is used for the query.


Название: Re: XQuery и парсинг html документа
Отправлено: nixman05 от Сентябрь 03, 2011, 15:55
xQuery/xPath не совсем подходят для html

Но ведь html является подмножеством xml? А в документации указана возможность парсинга xml подобных структур.
Тогда каким образом преобразовать html документ в xml?


Название: Re: XQuery и парсинг html документа
Отправлено: nixman05 от Сентябрь 03, 2011, 16:00
Для запросов можно использовать возможности webkit+Standard CSS2 selector.

из асиста:
QWebElement QWebElement::findFirst ( const QString & selectorQuery ) const
Returns the first child element that matches the given CSS selector selectorQuery.
Standard CSS2 selector syntax is used for the query.

А поподробней. каков запрос для поиска div с определенным id?
И не будет ли низкой производительность в данном случае?


Название: Re: XQuery и парсинг html документа
Отправлено: alexman от Сентябрь 05, 2011, 21:19
xQuery/xPath не совсем подходят для html

Но ведь html является подмножеством xml? А в документации указана возможность парсинга xml подобных структур.
Тогда каким образом преобразовать html документ в xml?
html имеет некоторые мелкие отличия от xml. Соответственно, xQuery/xPath не катит.

Цитировать
А поподробней. каков запрос для поиска div с определенным id?
Здесь посмотри синтаксис. (http://Здесь посмотри синтаксис.)

Цитировать
И не будет ли низкой производительность в данном случае?
Хз, но точно знаю что средства qt для xPath тормозные.


Название: Re: XQuery и парсинг html документа
Отправлено: alexman от Сентябрь 05, 2011, 21:20
Цитировать
А поподробней. каков запрос для поиска div с определенным id?
Вроде так div[id="safgasgasgas"]