0

我希望使用 QtWebKit 加载显示的 url,但是,这是简单的部分,我可以做到。我想做的是边走边记录/记录 xml。我在这里的注意力是通过记录这些细节来动态记录和数据库化某些细节。

我的问题是,如何即时执行所有这些操作,而不需要从服务器两次请求相同的 url,一次用于 xml,第二次用于查看 url。

我的希望是实现一种在用户经过时非常快速地记录集合数据的方法。举个例子,我希望在用户查看网站时将这些详细信息存入数据库,而不是输入网站显示的详细信息。

现在,我正在使用 QtWebKit,并且我已经解决了所有问题。我有一个 loadUrl() 例程,它在 qwebview.h 中调用 load(url)

问题是,我如何在此之上搭载 xml 解析?

4

1 回答 1

0

在您的 loadUrl 中,使用 Qt 已经提供的 HTTP 下载工具(QNetworkRequest 和朋友)自己下载 url。

获得数据后,解析并记录并使用:

void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )

手动将其设置到 QWebView 中。第二个 url 参数是您拥有的 url,它将用作从页面引用的元素的基本 url。

如果您不确定是否下载了 html,请使用:

void QWebView::setContent ( const QByteArray & data, const QString & mimeType = QString(), const QUrl & baseUrl = QUrl() )

你也可以做相反的事情。只需在您的方法中调用 QWebView::load(url) ,一旦传输完成,使用 QWebView::mainFrame() 获取主框架,然后使用 QWebFrame::toHtml() 获取内容,您可以对其进行解析和随心所欲地登录。

于 2010-05-03T17:13:18.197 回答