Название: Создание вложенной структуры xml с помощью dom-модели Отправлено: Pupil от Июнь 07, 2013, 19:55 Добрый вечер всем!
При создании xml с помощью DOM не удается создать следующую структуру c промежуточными узловыми элементами "parent_1" и "parent_2": Код: <parent value="01"> Код по книге Шлее и по гуглинию в такой конфигурации работает прекрасно: Код: <parent value="01"> Вот такие пироги. Qt 4.8 Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: mutineer от Июнь 07, 2013, 20:34 Наверно у тебя в коде что-то неправильно
Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: _OLEGator_ от Июнь 08, 2013, 00:48 Что за нахрен, это же невалидные XML.
Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: Pupil от Июнь 08, 2013, 21:10 В коде всё правильно. 2-х уровневую структуру он создает. А промежуточные теги не хочет.
Если я задаю "детский" вопрос - киньте линк с примером кратким из которого можно подчерпнуть ответ на мой вопрос. ) Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: VPS от Июнь 08, 2013, 22:03 Из одной книги: теги (элементы) в XML состоят из двух частей: открывающего и закрывающего дескрипторов.
Внутри этих дескрипторов содержится тело. Для элементов, у которых отсутствует тело есть сокращённая запись, которая совмещает открывающий и закрывающий дескриптор. В этом случае открывающий дескриптор заканчивается символом '/'. Т.е. в Вашем случае теги без тела должны выглядеть что-то типа этого: Код: <coord value="5"/> А также XML документ должен начинаться с заголовка вида: Код: <?xml version="1.0" ?> П.С.: в интернете есть книги в электронном виде по XML, видимо Вам надо их почитать... ;) Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: panAlexey от Июнь 09, 2013, 00:13 Что за нахрен, это же невалидные XML. точно невалидные. слешей нехватает.Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: Pupil от Июнь 09, 2013, 12:24 Прошу прощения: пример привел неряшливо - нет тегов. Теги при формировании моего файла есть и первая строка с ?xml тоже есть. Вопрос совсем не в этом. Мне напоминает -как если бы я задал среди ученых вопрос о переходе в гиперпространство с уменьшением числа гравитонов, а мне бы ответили, что мой тестовый дисколет не в тот цвет выкрашен. "Не смешите меня за плинтусом. "
Код: test1:: ...{ Как-то так. Если кроме тегов и первых строк - идей нет - я закрою тему и не стану веселить народ ))) Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: _OLEGator_ от Июнь 09, 2013, 12:41 Да кто тебя знает, что выложил - то и смотрим. Телепаты в отпуске.
Лично я для создания xml ручками никогда не использовал QDomDocument. Проще и нагляднее как текст создать и сохранить. Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: Pupil от Июнь 09, 2013, 13:34 Рассматривал я такой ручной вариант. Но автоматика перевесила. )
Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: VPS от Июнь 09, 2013, 14:49 То, что увидел. У вас в фрагменте кода:
Код: doc.appendChild(parent); "If newChild is a QDomElement and this node is a QDomDocument that already has an element node as a child, newChild is not added as a child and a null node is returned." Т.е. вставка второй раз - это лишнее... Потом, Вы постоянно вставляете дочерние элементы в parent, а если необходимо вставлять новые элементы в дочерние к parent, то надо уже через них ссылаться... П.С.: во вложении немного переделанный Ваш код, который создаёт структуру, которая была в начале поста. А также можно попробовать использовать "QXmlStreamWriter", вроде с ним проще... Название: Re: Создание вложенной структуры xml с помощью dom-модели Отправлено: Pupil от Июнь 10, 2013, 12:26 Все получилось! Спасибо огромное! Разобрался.
|