Я работаю над модульным тестом для загрузчика метаданных, который принимает QDomNode и извлекает информацию в std :: map. Теперь я должен создать QDomNode, содержащий всю информацию, которую хочу извлечь. Обычно этот узел берется из XML-файла, поэтому я думал, что я мог бы сделать это следующим образом:Как создать QDomNodes вручную?
QDomNode metaNode()
{
QDomDocument document;
QByteArray metaArray(
"<item name=\"author\">testManager</item>"
"<item name=\"campaign\">testCampaign</item>"
"<item name=\"comment\">testComment</item>"
"<item name=\"date\">25.04.2013</item>"
"<item name=\"description\">testDescription</item>"
"<item name=\"projnum\">1</item>"
"<item name=\"title\">test</item>");
document.setContent(metaArray);
QDomNode meta = document;
return meta;
}
Но это не похоже на работу. Когда я вызываю meta.childNodes(), я ожидаю список из семи элементов, но получаю только первый, содержащий имя «автор» со значением «testManager»;
Это не действительный XML AFAIK. Вам нужен узловой контейнер «контейнер». – Mat
Вы имели в виду что-то вроде добавления (см. Обновление)? –
LarissaGodzilla
Да. Теперь, когда единственный дочерний узел (корень) должен иметь всех правильных детей. – Mat