В общем, для определеных целей ставится задача : нужно загрузить XML из файла, провести его некоторую обработку и загрузить обратно. Под обработкой пока понимается "сортировка" - т.е. переупорядочивание некторых узлов. Я решил делать это через DOM. С загрузкой и сохранением проблем особо не возниклою Появились они при обработке. Такое ощущение, что нифига, из того, что делается, не сохраняется. Привожу короткий пример (это не из реальной программы - просто для проверки использовал) :
QDomNode value = XMLdata.documentElement().childNodes().item(1).cloneNode(true);
for (i = 2; i < XMLdata.documentElement().childNodes().length(); i++)
XMLdata.documentElement().childNodes().item(i) = value.cloneNode(true);
cout << "array" << endl;
for (i = 1; i < XMLdata.documentElement().childNodes().length(); i++)
cout << XMLdata.documentElement().childNodes().item(i).toElement().attribute("time& quot;).toStdString() << "; ";
cout << endl;
Результат работы :
array
27 13:0:52; 27 13:1:2; 27 13:1:6;
Т.е. видно, что элементы разные, а не одинакоые, как я ожидал. Подозреваю, что делаю неверно, но в чем ? Не один раз уже прочел доки по QT-классам для работы с DOM, вроде все должно быть нормально. Где засада ?