QT将html解析为txt文件

时间:2013-07-12 18:29:49

标签: c++ qt qtwebkit

我需要解析html页面并将所有文本写入.txt文件,例如

  <!DOCTYPE html>
  <html>
  <body>

  <h1>My First Heading</h1>

  <p>My first paragraph.</p>
  <p>My second paragraph.</p>

</body>
</html>

所以我需要解析我需要写的标签 我的第一段。 我的第二段。

到外部文件

任何想法,如果我可以使用QtWebkit

在Qt中做到这一点

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为,如果您真正尝试某些内容并将代码发布作为起点,那么这总是最好的。但是我在工作上很无聊,所以这里...... [/ p>

这是一些伪代码:

// To request data from the interwebs.
QNetworkRequest* request = new QNetworkRequest("http://www.asdf.com");
QNetworkAccessManager* networkMgr = new QNetworkAccessManager();
QNetworkReply* reply = networkMgr->get(request);

// Set up signals & slots (Qt4 style)
QObject::connect(reply, SIGNAL(readyRead()), this, SLOT(readyRead()));
QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(error(QNetworkReply::NetworkError)));

稍后,当您获得有效负载时,您可以读取数据并将其提供给您想要的任何Qt Xml解析器(QXmlStreamReader和其他人!):

void HttpTest::readyRead()
{
  QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());

  if(reply)
  {
    if(reply->error() == QNetworkReply::NoError)
    {

    }
    else
    {
      QString html = reply->readAll();
      QXmlStreamReader reader(&html);
      // Parse your xml stuff - search for your <p> node.
      // ...

Qt doc examples

stackoverflow has lots

    }
  }
}