Есть функция записи в xml почему идет добавление не в корень документа а полная перезапись??
// Запись в xml фаил
void MainWindow::addCategoryInXML()
{
QFile file("BDwww.xml");
if(file.open(QIODevice::ReadWrite))
{
QDomDocument doc;
doc.setContent(&file);
QDomElement root=doc.documentElement();// получаем корень документа
qDebug() << root.nodeName(); // элемент правильно извлекается
QDomElement categoryNum=doc.createElement("category");//создаем потомка
root.appendChild(categoryNum);
QDomElement categoryName=doc.createElement("name_category");
categoryNum.appendChild(categoryName);
QDomText categoryNameText = doc.createTextNode(nameCategory->text());
categoryName.appendChild(categoryNameText);
QTextStream (&file)<<doc.toString();
file.close();
}
else qDebug()<<"Error open file";
}
Получается
<?xml version="1.0"?>
<bdWWW>
</bdWWW>
<?xml version='1.0'?>
<bdWWW>
<category>
<name_category>1111111111</name_category>
</category>
</bdWWW>
Должно быть
<?xml version="1.0"?>
<bdWWW>
<category>
<name_category>1111111111</name_category>
</category>
</bdWWW>
2Вопрос.
Есть модель в виде treeView. В нее добавляются категории и не ограниченное количество ссылок. При добавлении категории все понятно добавил и сразу записал в xml , а как записать ссылку ведь надо найти нужную категорию среди имеющихся в файле, по каким параметрам искать???
В модели я использую сигнал doubleClicked(const QModelIndex &) и к выделенному объекту добавляю потомка.
Если искать в файле по именам тогда нельзя будет создавать категории и ссылки с одинаковыми именами и каким вообще способом получить имя выделенного объекта в модели или есть альтернативные параметры поиска???