Название: Сохранить QDomNode Отправлено: reiner от Март 31, 2012, 20:58 Здравствуйте!
В своём проекте столкнулся со следующей проблемой: Есть много объектов с данными. Требуется, чтоб в каждом была функция, генерирующая его xml представление (QDomNode, или QDomElement, к примеру, со вложенными узлами). Есть объект, который эти объекты собирает, формирует из них QDomDocument и сохраняет в файл. Пытался сделать как: в каждом из объектов с даными генерировал QDomNode*, потом пытался через appendChild их прицепить к документу, и записать, но не пишет ничего, выводит ошибку Calling appendChild() on a null node does nothing. Подскажите пожалуйста, как решить такую проблему. Название: Re: Сохранить QDomNode Отправлено: mutineer от Март 31, 2012, 21:40 Видимо какой-то из нодов (исходный или который добавляешь) пустой
Название: Re: Сохранить QDomNode Отправлено: _OLEGator_ от Апрель 01, 2012, 11:26 Как генерируешь QDomNode?
Название: Re: Сохранить QDomNode Отправлено: reiner от Апрель 01, 2012, 14:18 QDomNode * node = new QDomNode ();
node.setNodeValue("value"); Название: Re: Сохранить QDomNode Отправлено: _OLEGator_ от Апрель 01, 2012, 16:59 Так не получится. В Qt странно несколько сделано создание узлов. Создавать можно только при помощи QDomDocument:
Код
Название: Re: Сохранить QDomNode Отправлено: reiner от Апрель 01, 2012, 20:13 Собственно, и спрашивать сюда пошёл чтобы выяснить, нет ли какого другого пути.
Кстати, QDomNode можно присоединять потом к этому элементу, или только QDomElement или QDomText? И ещё, никто не писал троллям относительно этой проблемы? Не планируют ли они изменить что-то в механизме формирования дерева? Название: Re: Сохранить QDomNode Отправлено: _OLEGator_ от Апрель 02, 2012, 08:57 Данная функция просто создает новый узел, не добавляя его в QDomDocument. Почему это не статическая функция и почему нельзя создать корректный узел без использования QDomDocument (возможно и есть способ, но я о нем не знаю) я не понимаю.
Все остальное конечно доступно, в том числе добавление узла к элементу и добавление элементов в него. Сомневаюсь, что они это планируют менять, ибо в справке числится так: Код
|