syndication/rss2
parser.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 "parser.h"
00024 #include "document.h"
00025
00026 #include <documentsource.h>
00027
00028 #include <QtXml/QDomDocument>
00029 #include <QtXml/QDomElement>
00030 #include <QtCore/QString>
00031
00032 namespace Syndication {
00033 namespace RSS2 {
00034
00035 class Parser::ParserPrivate {};
00036
00037 bool Parser::accept(const Syndication::DocumentSource& source) const
00038 {
00039 QDomDocument doc = source.asDomDocument();
00040 if (doc.isNull())
00041 return false;
00042
00043 QDomNode root = doc.namedItem(QString::fromUtf8("rss")).toElement();
00044
00045 return !root.isNull();
00046 }
00047
00048 Syndication::SpecificDocumentPtr Parser::parse(const DocumentSource& source) const
00049 {
00050 return DocumentPtr(new Document(Document::fromXML(source.asDomDocument())));
00051 }
00052
00053 QString Parser::format() const
00054 {
00055 return QString::fromUtf8("rss2");
00056 }
00057
00058 Parser::Parser() : d(0) {}
00059 Parser::Parser(const Parser& other) : AbstractParser(other), d(0) {}
00060 Parser::~Parser() {}
00061 Parser& Parser::operator=(const Parser& ) { return *this; }
00062
00063 }
00064 }