File indexing completed on 2025-04-27 03:39:06
0001 /* 0002 This file is part of KDE. 0003 0004 SPDX-FileCopyrightText: 2008 Cornelius Schumacher <schumacher@kde.org> 0005 SPDX-FileCopyrightText: 2009 Marco Martin <notmart@gmail.com> 0006 0007 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0008 */ 0009 0010 #include "knowledgebaseentryparser.h" 0011 0012 using namespace Attica; 0013 0014 KnowledgeBaseEntry KnowledgeBaseEntry::Parser::parseXml(QXmlStreamReader &xml) 0015 { 0016 KnowledgeBaseEntry knowledgeBase; 0017 0018 while (!xml.atEnd()) { 0019 xml.readNext(); 0020 0021 if (xml.isStartElement()) { 0022 if (xml.name() == QLatin1String("id")) { 0023 knowledgeBase.setId(xml.readElementText()); 0024 } else if (xml.name() == QLatin1String("status")) { 0025 knowledgeBase.setStatus(xml.readElementText()); 0026 } else if (xml.name() == QLatin1String("contentId")) { 0027 knowledgeBase.setContentId(xml.readElementText().toInt()); 0028 } else if (xml.name() == QLatin1String("user")) { 0029 knowledgeBase.setUser(xml.readElementText()); 0030 } else if (xml.name() == QLatin1String("changed")) { 0031 knowledgeBase.setChanged(QDateTime::fromString(xml.readElementText(), Qt::ISODate)); 0032 } else if (xml.name() == QLatin1String("description")) { 0033 knowledgeBase.setDescription(xml.readElementText()); 0034 } else if (xml.name() == QLatin1String("answer")) { 0035 knowledgeBase.setAnswer(xml.readElementText()); 0036 } else if (xml.name() == QLatin1String("comments")) { 0037 knowledgeBase.setComments(xml.readElementText().toInt()); 0038 } else if (xml.name() == QLatin1String("detailpage")) { 0039 knowledgeBase.setDetailPage(QUrl(xml.readElementText())); 0040 } else if (xml.name() == QLatin1String("contentid")) { 0041 knowledgeBase.setContentId(xml.readElementText().toInt()); 0042 } else if (xml.name() == QLatin1String("name")) { 0043 knowledgeBase.setName(xml.readElementText()); 0044 } else { 0045 knowledgeBase.addExtendedAttribute(xml.name().toString(), xml.readElementText()); 0046 } 0047 } else if (xml.isEndElement() && xml.name() == QLatin1String("content")) { 0048 break; 0049 } 0050 } 0051 0052 return knowledgeBase; 0053 } 0054 0055 QStringList KnowledgeBaseEntry::Parser::xmlElement() const 0056 { 0057 return QStringList(QStringLiteral("content")); 0058 }