Как добавить детей в объект QDomDocumentFragment в qt с помощью c ++ - PullRequest
2 голосов
/ 24 декабря 2008

Я использую 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». Что мне здесь не хватает?

1 Ответ

3 голосов
/ 24 декабря 2008

Хорошо, извините за трату времени каждого. Похоже, мне нужно было создать фрагмент документа, используя:

QDomDocumentFragment rootnode = doc.createDocumentFragment();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...