Я использую Qt 4.4.3 с C ++. Я хочу реализовать объект QDomDocumentFragment и передать его в качестве возвращаемого значения для функции. Я использую его так же, как объекты QDomElement, с appendChild () :
QDomDocumentFragment rootnode;
QDomNode initmodnode = doc.createElement("initmod");
QDomText initmodval = doc.createTextNode("4");
initmodnode.appendChild(initmodval);
rootnode.appendChild(initmodnode);
Вставив таким образом 7 других узлов и вернувшись из функции, я заметил, что вызов insertAfter () для QDomElement с возвращенным QDomDocumentFragment не вставлял никаких новых дети. После отладки с помощью следующего кода внутри функции я понял, что на самом деле ни один узел не вставляется в корневой узел:
QMessageBox::information(this->owner, QObject::tr("Debug"), QObject::tr("Node has children: ")+QString::number(rootnode.childNodes().size()));
Напечатанное сообщение было «Узел имеет детей: 0». Что мне здесь не хватает?