Attica

topicparser.cpp
1/*
2 This file is part of KDE.
3
4 SPDX-FileCopyrightText: 2011 Laszlo Papp <djszapi@archlinux.us>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8
9#include "topicparser.h"
10#include "atticautils.h"
11
12using namespace Attica;
13
14Topic Topic::Parser::parseXml(QXmlStreamReader &xml)
15{
16 Topic topic;
17
18 while (!xml.atEnd()) {
19 xml.readNext();
20
21 if (xml.isStartElement()) {
22 if (xml.name() == QLatin1String("id")) {
23 topic.setId(xml.readElementText());
24 } else if (xml.name() == QLatin1String("forumId")) {
25 topic.setForumId(xml.readElementText());
26 } else if (xml.name() == QLatin1String("user")) {
27 topic.setUser(xml.readElementText());
28 } else if (xml.name() == QLatin1String("date")) {
29 topic.setDate(Utils::parseQtDateTimeIso8601(xml.readElementText()));
30 } else if (xml.name() == QLatin1String("subject")) {
31 topic.setSubject(xml.readElementText());
32 } else if (xml.name() == QLatin1String("content")) {
33 topic.setContent(xml.readElementText());
34 } else if (xml.name() == QLatin1String("comments")) {
35 topic.setComments(xml.readElementText().toInt());
36 }
37 } else if (xml.isEndElement() && xml.name() == QLatin1String("topic")) {
38 break;
39 }
40 }
41
42 return topic;
43}
44
45QStringList Topic::Parser::xmlElement() const
46{
47 return QStringList(QStringLiteral("topic"));
48}
Represents a topic.
Definition topic.h:26
The Attica namespace,.
int toInt(bool *ok, int base) const const
bool atEnd() const const
bool isEndElement() const const
bool isStartElement() const const
QStringView name() const const
QString readElementText(ReadElementTextBehaviour behaviour)
TokenType readNext()
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:58:18 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.