![]() |
|
|
![]()
|
|
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
Всем привет!
Здесь на форуме я не нашла ответа на вопрос о том, как с "нуля" создать программно xml -документ. Но проблема всё-таки решилась и я хочу поделиться опытом, может кому то помогу этим. Вот небольшой кусок из программы: _di_IXMLDocument xmlDocument = NewXMLDocument(); xmlDocument->Active = true; xmlDocument->Encoding = "windows-1251"; xmlDocument->Options = xmlDocument->Options << doNodeAutoIndent; IXMLNode* parentNode = xmlDocument->AddChild("Chapter"); parentNode->SetAttribute(WideString("xmlns:xsi"),(AnsiString)"http://www.w3.org/2001/XMLSchema-instance"); parentNode->SetAttribute(WideString("xsi:noNamespaceSchemaLocation"),(AnsiString)"Proba.xsd"); _di_IXMLNode Section = parentNode->AddChild(WideString("Section")); Section->SetAttribute("DataSet", (AnsiString)"DataSet"); _di_IXMLNode Signals = Section->AddChild("Signals"); _di_IXMLNode Capt = Signals->AddChild("Caption"); Capt->Text = "Сигнал1"; xmlDocument->SaveToFile("proba1.xml"); А вот что в результате этого получается: <?xml version="1.0" encoding="windows-1251"?> <Chapter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Proba.xsd"> <Section DataSet="DataSet"> <Signals> <Caption>Сигнал1</Caption> </Signals> </Section> </Chapter> |
|||
|
||||
| ksili |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Пример работает, но у меня возник один вопрос. Мне нужно указать рамещение декларации типа XML-документа (DTD - document type definition). Выглядит это так:
Это должно располагаться сразу после
Но до первого узла. То есть сама эта запись узлом не является и при помощи _di_IXMLNode её добавлять, как я понимаю, нельзя. Какой код нужно добавить, чтобы в XML-файле появилась эта запись? Что-то я не нашёл подходящего параметра у компонента _di_IXMLDocument. Вообще, первый день с XML разбираюсь. Это сообщение отредактировал(а) ksili - 18.8.2007, 07:27 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |