syndication/rss2
tools_p.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "tools.h"
00024 #include <constants.h>
00025 #include <elementwrapper.h>
00026
00027 #include <QtXml/QDomElement>
00028 #include <QtCore/QList>
00029 #include <QtCore/QString>
00030
00031 namespace Syndication {
00032 namespace RSS2 {
00033
00034 QString extractContent(const ElementWrapper& wrapper)
00035 {
00036 if (wrapper.isNull())
00037 return QString();
00038
00039 QList<QDomElement> list = wrapper.elementsByTagNameNS(contentNameSpace(), QString::fromUtf8("encoded"));
00040
00041 if (!list.isEmpty())
00042 return list.first().text().trimmed();
00043
00044 list = wrapper.elementsByTagNameNS(xhtmlNamespace(), QString::fromUtf8("body"));
00045
00046 if (!list.isEmpty())
00047 return ElementWrapper::childNodesAsXML(list.first()).trimmed();
00048
00049 list = wrapper.elementsByTagNameNS(xhtmlNamespace(), QString::fromUtf8("div"));
00050
00051 if (!list.isEmpty())
00052 return ElementWrapper::childNodesAsXML(list.first()).trimmed();
00053
00054 return QString();
00055 }
00056
00057
00058 }
00059 }