Я пытаюсь ввести данные из файла XML в программе на C ++, используя набор инструментов Qt. Мои данные XML отформатированы следующим образом:
`<item>
<title>title<\title>
<tree_loc1>0<\tree_loc1>
<parent>parent<\parent>
<description>description<\description>
<other_info>other info<\other_info>
<location>location<\location>
<last_modified>Mar 28 2009 8:16 pm<\last_modified>
<radio>0<\radio>
</item>`
В настоящее время функция, которую я должен прочитать в XML, выглядит следующим образом. К сожалению, он распознает данные из первого тега (заголовка) и затем возвращает все будущие попытки доступа к данным как NULL. Подкорень, который я передаю, является domDocument.documentElement (). Я новичок в XML и несколько новичок в Qt, и буду признателен за любую помощь, которую вы можете предложить в решении моей проблемы! Большое спасибо.
void XmlHandler::readXML(QStandardItemModel *model, QDomNode subRoot){
QDomElement node;
QString title;
int row;
QString parent;
QString description;
QString other_info;
QString location;
QString last_modified;
QString radio;
QString value;
bool flag;
if (subRoot.isNull())
return; // error condition
for (int i = 0; i < N_STRINGS; i++){
node = subRoot.firstChildElement(tagName[i]); // returns NULL all but the 1st time
value = DEFAULT_VALUE;
value = node.text();
switch (i) {
case 0:
title = value;
break;
case 1:
row = value.toInt();
break;
case 2:
parent = value;
break;
case 3:
description = value;
break;
case 4:
other_info = value;
break;
case 5:
location = value;
break;
case 6:
last_modified = value;
break;
case 7:
radio = value;
break;
}
}
}