×
Namespaces

Variants
Actions
(Difference between revisions)

Creating QDomDocument in Qt

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Fix bad link to qt docs)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData)
Line 1: Line 1:
 
[[Category:Qt]]
 
[[Category:Qt]]
 
{{KBCS}}
 
{{KBCS}}
{{CodeSnippet
+
{{ArticleMetaData
 
|id=CS001430
 
|id=CS001430
 
|platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition
 
|platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition
Line 9: Line 9:
 
|creationdate=June 16, 2009
 
|creationdate=June 16, 2009
 
|keywords=QDomDocument, QDomElement
 
|keywords=QDomDocument, QDomElement
 +
 +
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 +
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
 +
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. -->)
 +
|author=[[User:Tepaa]]
 
}}
 
}}
  

Revision as of 12:03, 24 June 2011

Template:KBCS

Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Symbian
Platform Security
Capabilities: )
Article
Keywords: QDomDocument, QDomElement
Created: tepaa (16 Jun 2009)
Last edited: hamishwillee (24 Jun 2011)

Contents

Overview

This code snippet demonstrates how to use QDomDocument to represent an XML document.


Preconditions


Header

#include <QDomDocument>
#include <QNetworkReply>
#include <QFile>


Create QDomDocument

From file:

QDomDocument doc("mydocument");
QFile file("mydocument.xml");
if (!file.open(QIODevice::ReadOnly))
return;
if (!doc.setContent(&file)) {
file.close();
return;
}
file.close();

From HTTP reply QNetworkReply:

QDomDocument* createDom(QNetworkReply* reply)
{
QDomDocument* doc = new QDomDocument();
doc->setContent(reply);
return doc;
}


Getting data from QDomDocument

Example XML document:

<person>
<id>1</id>
<firstname>John</firstname>
<lastname>Smith</lastname>
</person>

Getting data from QDomDocument:

QDomElement root = domDocument->documentElement();
 
if (root.tagName() == "person")
{
qDebug() << root.firstChildElement("id").text();
qDebug() << root.firstChildElement("firstname").text();
qDebug() << root.firstChildElement("lastname").text();
// TODO: Store data, this code only debugs data into log
}


See also


Postconditions

QDomDocument is created and data is parsed.

118 page views in the last 30 days.