0

QDomDocument ポインターを再帰的に渡すことに少し問題があります。

私が見落としていたことを教えてくれるかもしれません。

QString Node::asXML()
{
QDomDocument *doc = new QDomDocument();

QDomElement ele = doc->createElement(typeInfo());
doc->appendChild(ele);

foreach (Node *child, children)
{
    qDebug() << "Node: " << child->name;
    child->recurseXML(doc, ele);    
}

return doc->toString();
}


void Node::recurseXML(QDomDocument *doc, QDomElement parent)
{
QDomElement node = doc->createElement(typeInfo());
parent.appendChild(node);

QMapIterator<QString, QVariant> i(attributes);
qDebug() << attributes.size();

while(i.hasNext())
{
    i.next();
    node.setAttribute(i.key(), i.value().toString());
    qDebug() << "KEY: " << i.key() << " | VALUE: " << i.value().toString();
}

}

再帰から取得したデータを失いましたが、その理由がわかりません。おそらく私はポインターの間違いを犯しましたが、私はそれを見ません。多分誰かが私を助けることができます

よろしく

4

1 に答える 1