Russian Qt Forum
Май 22, 2024, 13:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Конструирование XML  (Прочитано 5878 раз)
Evgeniy N. Sharapov
Гость
« : Апрель 17, 2005, 06:15 »

Конструирую себе XML начинаю с пустого QDomElement
node = new QDomElement();
Тут то и происходит segmentation fault.
В чем тут косяк может быть?
(Тип node is  QDomElement()* )
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Апрель 17, 2005, 08:18 »

в примерах советуют так

Код:
const int Indent = 4;

QDomDocument doc;
QDomElement root = doc.createElement("doc");
QDomElement quote = doc.createElement("quote");
QDomElement translation = doc.createElement("translation");
QDomText quoteText = doc.createTextNode("Errare humanum est");
QDomText translationText = doc.createTextNode("To err is human");

doc.appendChild(root);
root.appendChild(quote);
root.appendChild(translation);
quote.appendChild(quoteText);
translation.appendChild(translationText);

QTextStream out(&file);
doc.save(out, Indent);


будет генерится

Код:
[color=brown]<doc>
    <quote>Errare humanum est</quote>
    <translation>To err is human</translation>
</doc>[/color]
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Апрель 17, 2005, 08:20 »

попробовал у себя

QDomElement* p = new QDomElement();

усе пашет и не падает
Записан
Evgeniy N. Sharapov
Гость
« Ответ #3 : Апрель 18, 2005, 00:57 »

Цитата: "Admin"
в примерах советуют так

Код:
const int Indent = 4;

QDomDocument doc;
QDomElement root = doc.createElement("doc");
QDomElement quote = doc.createElement("quote");
QDomElement translation = doc.createElement("translation");
QDomText quoteText = doc.createTextNode("Errare humanum est");
QDomText translationText = doc.createTextNode("To err is human");

doc.appendChild(root);
root.appendChild(quote);
root.appendChild(translation);
quote.appendChild(quoteText);
translation.appendChild(translationText);

QTextStream out(&file);
doc.save(out, Indent);


будет генерится

Код:
[color=brown]<doc>
    <quote>Errare humanum est</quote>
    <translation>To err is human</translation>
</doc>[/color]


так я просмотрел кучу примеров... может у меня не очень хорошо с C++ дизайном, но в Java и Python  варианте все работало... суть в том, что у меня есть "елка" объектов... и я хочу получить XML представление объекта со всеми его подобъектами... поэтому приведенный вариант не очень меня устраивает... Грустный Я генерю QDomElement который собственно и представляет объект... со всеми его подобъектами...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.