12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include "rsschannel.h"
- RssChannel::RssChannel(QObject* parent) : QObject(parent)
- {
- }
- QString RssChannel::url() const
- {
- return m_url;
- }
- void RssChannel::setUrl(const QString& url)
- {
- m_url = url;
- }
- void RssChannel::openUrl(const QString& url)
- {
- m_url = url;
- SyncHttpObject* http = new SyncHttpObject();
- QByteArray ret;
- http->getHtmlData(m_url, ret);
- QDomDocument doc;
- doc.setContent(ret);
- QDomElement rssNode = doc.documentElement();
- QDomNode channelNode = rssNode.firstChild();
- for (int i = 0; i < channelNode.childNodes().count(); i++)
- {
- QDomNode itemNode = channelNode.childNodes().at(i);
- if (itemNode.nodeName() == "item")
- {
- RssInfo rssInfo;
- for (int j = 0; j < itemNode.childNodes().count(); j++)
- {
- QDomNode infoNode = itemNode.childNodes().at(j);
- QString name = infoNode.nodeName();
- QString value = infoNode.toElement().text();
- if (name == "title")
- {
- rssInfo.title = value;
- }
- else if (name == "content")
- {
- rssInfo.content = value;
- }
- }
- items << rssInfo;
- }
- }
- delete http;
- }
|