Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблемы при создании XML

11K
21 апреля 2009 года
Babandr
76 / / 05.05.2008
Есть следующий код:

 
Код:
TXMLDocument *doc = new TXMLDocument(NULL);
doc->Active = true;
doc->Version = "1.0";
doc->Encoding = "utf-8";
_di_IXMLNode node = doc->AddChild("something");


После последней строки BDS2006 выдает ошибку рантайма: "Not active document".
Подскажите пожалуйста, в чем тут дело? всю голову сломал.
33K
21 апреля 2009 года
JJ_Bat
1 / / 01.10.2007
перед doc->Active = true; надо бы указать файл:

doc->FileName = "filename.xml";
11K
22 апреля 2009 года
Babandr
76 / / 05.05.2008
Не все так просто, оказывается - следующий виток проблем...
да, указать FileName оказалось не лишним, но файл перед тем должен существовать. однако и это не спасает - при включении doc->Active = true; видимо сразу же начинает работать парсер, который видит пустой файл, считает его большим недоразумением и опять - вылет с ошибкой.
Делать doc->Active = false нельзя - тогда вообще ничего не работает.
Какие еще мысли есть у кого-нибудь?
7.3K
22 апреля 2009 года
H010d Freeze
143 / / 08.08.2006
Я сталкивался с такой бедой. TXMLDocument как-то неадекватно себя ведет, если создавать его в билдере без владельца.
Попробуй функции
NewXMLDocument
LoadXMLDocument
LoadXMLData
14
22 апреля 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: H010d Freeze
Я сталкивался с такой бедой. TXMLDocument как-то неадекватно себя ведет, если создавать его в билдере без владельца


да, есть такое в VCL...
Попробуй создавать так, у меня в Delphi работает:

 
Код:
IXMLDocument doc = new TXMLDocument(NULL);
или
_di_IXMLDocument doc = new TXMLDocument(NULL);

мне не посмотреть точное имя интерфейса в билдере.
11K
22 апреля 2009 года
Babandr
76 / / 05.05.2008
Цитата: Phodopus
да, есть такое в VCL...
Попробуй создавать так, у меня в Delphi работает:
 
Код:
IXMLDocument doc = new TXMLDocument(NULL);
или
_di_IXMLDocument doc = new TXMLDocument(NULL);

мне не посмотреть точное имя интерфейса в билдере.



Так не прокатывает...Путаница типов. Компилер ругается и говорит, что TXMLDocument - абстрактный класс(интересно, почему он раньше об этом не вспоминал).
А вот при использовании NewXMLDocument стало получаться.
Благодарю всех за помощь...далеко не уходите :) чую, тут еще есть где возникнуть проблемам....буду копать дальше

1.9K
23 апреля 2009 года
Anton Chik
175 / / 26.09.2005
я не парился, создавал предварительно файл, писал в него первую строку любого стандартного xml-файла (заголовок в общем)... + пустой корневой нод...
после этого Active = true; прокатывало
1
23 апреля 2009 года
kot_
7.3K / / 20.01.2000
Не усложняйте себе жизнь.
 
Код:
//создали объект TXMLDocument
xmlPacket->XML->Clear();
xmlPacket->XML->Add("<?xml version=\"1.0\"?>");
xmlPacket->XML->Add("<packet></packet>");//создали корень
//это пример - записывайте нужный вам
xmlPacket->Active = true;
//начали работать с документом
_di_IXMLNode Packets = dml->xmlPacket->DocumentElement;
53K
18 сентября 2009 года
S_Yevgeniy
2 / / 17.09.2009
Здравствуйте а можно код от Kot_ для Delphi написать?
Заранее спасибо
1
18 сентября 2009 года
kot_
7.3K / / 20.01.2000
можно. благословляю. пишите.
53K
18 сентября 2009 года
S_Yevgeniy
2 / / 17.09.2009
Цитата: kot_
можно. благословляю. пишите.



:)
да если бы я мог то наверное уже написал и спал бы как все нормальные люди в моем городе.

25K
22 сентября 2009 года
San_
42 / / 03.10.2007
у-ха-ха
знак -> заменяй на точку , и убирай пустые скобки возле имен функций
ничего сложного
92
27 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
мда. а как же строки? ;)
и := вместо =
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог