ok, add a method which will create QDomElement for given object
something like this
{
element.setAttribute(..., ...);
...
return element;
}
QDomElement Serializator::toXml(const MyObject &obj, QDomDocument &doc) const
{
QDomElement element = doc.createElement("...");
element.setAttribute(..., ...);
...
return element;
}
To copy to clipboard, switch view to plain text mode
then
{
QList<MyObject> objects = this->objects();//method which return a list of objects
foreach(const MyObject &object, objects)
ui.appendChild(toXml(object, doc));
doc.appendChild(ui);
return doc;
}
QDomDocument Serializator::generateDocument() const
{
QDomDocument doc;
QDomElement ui = doc.createElement("ui");
QList<MyObject> objects = this->objects();//method which return a list of objects
foreach(const MyObject &object, objects)
ui.appendChild(toXml(object, doc));
doc.appendChild(ui);
return doc;
}
To copy to clipboard, switch view to plain text mode
or even better it's create toXml method in all needed classe,
of course if you implement them by yourself in this case a code should be like this
{
QList<MyObject> objects = this->objects();//method which return a list of objects
foreach(const MyObject &object, objects)
ui.appendChild(object.toXml(doc));
doc.appendChild(ui);
return doc;
}
QDomDocument Serializator::generateDocument() const
{
QDomDocument doc;
QDomElement ui = doc.createElement("ui");
QList<MyObject> objects = this->objects();//method which return a list of objects
foreach(const MyObject &object, objects)
ui.appendChild(object.toXml(doc));
doc.appendChild(ui);
return doc;
}
To copy to clipboard, switch view to plain text mode
Bookmarks