Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2022, 15:01   #1
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию Unit'ы XMLIntf и XmlDoc

Здравствуйте, помогите разобраться со структурой пространства имён XML с помощью сабжа.

Код:
procedure TfrmE.itClick(Sender: TObject);
var XML: IXMLDocument;
    rootElement, currentElement: IXMLNode;
begin
  XML := NewXMLDocument;
  XML.Encoding := 'windows-1251';
  XML.Options := [doNodeAutoIndent];

  rootElement := XML.AddChild('Файл');
  rootElement.DeclareNamespace('tns', 'urn://x-artefacts-f-f/root/1.0.0');
  currentElement := rootElement.AddChild('ФИО', 'urn://x-artefacts-f-f/root/1.0.0', true);

  XML.SaveToFile('E:\test.xml');
end;
Результат:
Код:
<?xml version="1.0" encoding="windows-1251"?>
<Файл xmlns:tns="urn://x-artefacts-f-f/root/1.0.0">
  <ФИО xmlns="urn://x-artefacts-f-f/root/1.0.0"/>
</Файл>
Желаемый результат:
Код:
<?xml version="1.0" encoding="windows-1251"?>
<tns:Файл xmlns:tns="urn://x-artefacts-f-f/root/1.0.0">
  <tns:ФИО xmlns:tns="urn://x-artefacts-f-f/root/1.0.0"/>
</Файл>
Дайте, пожалуйста, кусок кода с помощью которого можно получить желаемый результат.
Можно было конечно в таком духе, по-дурацки сделать:
Код:
rootElement := XML.AddChild('tns:Файл');
currentElement.Attributes['xmlns:tns'] := 'urn://x-artefacts-f-f/root/1.0.0';
Но может есть более "правильный" способ?

Последний раз редактировалось Explosion; 17.03.2022 в 15:04.
Explosion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем различия между файлами Unit.cpp и Unit.h? WarHamster Общие вопросы C/C++ 1 14.03.2012 14:25
Как из одного Unit вызвать форму другого Unit'a? alexusankov Общие вопросы Delphi 4 10.01.2011 10:54
unit mares Помощь студентам 7 23.05.2010 21:46
Cannot run a unit. sllh_111 Помощь студентам 8 15.02.2010 20:34