当前位置:  开发笔记 > 编程语言 > 正文

在Qt中解析HTML的最佳方法?

如何解决《在Qt中解析HTML的最佳方法?》经验,为你挑选了2个好方法。

我如何在Qt中解析充满BAD html的页面上的所有"a"html标签"href"属性?



1> Jaro..:

我会使用内置的QtWebKit.不知道它在性能方面是如何做的,但我认为应该抓住所有"糟糕"的HTML.就像是:

class MyPageLoader : public QObject
{
  Q_OBJECT

public:
  MyPageLoader();
  void loadPage(const QUrl&);

public slots:
  void replyFinished(bool);

private:
  QWebView* m_view;
};

MyPageLoader::MyPageLoader()
{
  m_view = new QWebView();

  connect(m_view, SIGNAL(loadFinished(bool)),
          this, SLOT(replyFinished(bool)));
}

void MyPageLoader::loadPage(const QUrl& url)
{
  m_view->load(url);
}

void MyPageLoader::replyFinished(bool ok)
{
  QWebElementCollection elements = m_view->page()->mainFrame()->findAllElements("a");

  foreach (QWebElement e, elements) {
    // Process element e
  }
}

要使用该课程

MyPageLoader loader;
loader.loadPage("http://www.example.com")

然后用收藏品做任何你喜欢的事.



2> 小智..:


这个问题已经很老了.不过我希望这会对某人有所帮助:

我为Qt编写了两个小类,我在sourceforge下发表了这个小类.这将帮助您访问与XML一起使用的html文件.

在这里你可以找到这个项目:
http://sourceforge.net/projects/sgml-for-qt/
在这里你可以找到wiki中的帮助系统.

Drewle

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有