атрибуты главной ноды XML

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

атрибуты главной ноды XML

Сообщение Zak » 21.12.2016 14:36:45

Доброго дня.
Прошу помощи. Не получается сформировать файл XML имеющий атрибуты у главной ноды (RootNode)

вот что примерно надо получить:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<ГлавнаяНода АтрибутГлавнойНоды="ЗначениеАтрибута">
   <Ещеноды>
      <ИТД>....</ИТД>
   </Ещеноды>
</ГлавнаяНода>


Пишу следующее:
Код: Выделить всё
var
  Doc: TXMLDocument;
  RootNode : TDOMNode;
  RootAttr : TDOMAttr;

begin
  Doc := TXMLDocument.Create;
  RootNode := Doc.CreateElement(UTF8Decode('ГлавнаяНода'));
  RootAttr := Doc.CreateAttribute(UTF8Decode('АтрибутГлавнойНоды'));
  RootAttr.Value := 'ЗначениеАтрибута';
...


файл формируется как надо с главной нодой "ГлавнаяНода" , но атрибутов нету
Zak
новенький
 
Сообщения: 31
Зарегистрирован: 16.06.2013 07:24:39
Откуда: морозная Сибирь

Re: атрибуты главной ноды XML

Сообщение *Rik* » 21.12.2016 15:54:00

Код: Выделить всё
RootNode.AttribStrings['ффвфы'] := 'уцуцуц';
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 427
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: атрибуты главной ноды XML

Сообщение Zak » 21.12.2016 16:02:41

*Rik* писал(а):
Код: Выделить всё
RootNode.AttribStrings['ффвфы'] := 'уцуцуц';

Спасибо, но AttribStrings "не находится" среди свойств RootNode

в "unit DOM" сказано, что "Introduced in DOM Level 2"

Проблем с установкой и назначением атрибутов последующих элементов у меня не возникает
Проблема именно в корне. Кто сможет направить или подсказать?

Добавлено спустя 19 минут 46 секунд:
всем спасибо. решение сообразил, выглядит так:
Код: Выделить всё
var
  Doc: TXMLDocument;
  RootNode : TDOMNode;

begin
  Doc := TXMLDocument.Create;
  RootNode := Doc.CreateElement(UTF8Decode('ГлавнаяНода'));
  TDOMElement(RootNode).SetAttribute(UTF8Decode('АтрибутГлавнойНоды'), UTF8Decode('ЗначениеАтрибута'));
...
Zak
новенький
 
Сообщения: 31
Зарегистрирован: 16.06.2013 07:24:39
Откуда: морозная Сибирь

Re: атрибуты главной ноды XML

Сообщение *Rik* » 23.12.2016 15:44:37

Zak писал(а):
*Rik* писал(а):всем спасибо. решение сообразил, выглядит так:
Код: Выделить всё
var
  Doc: TXMLDocument;
  RootNode : TDOMNode;

begin
  Doc := TXMLDocument.Create;
  RootNode := Doc.CreateElement(UTF8Decode('ГлавнаяНода'));
  TDOMElement(RootNode).SetAttribute(UTF8Decode('АтрибутГлавнойНоды'), UTF8Decode('ЗначениеАтрибута'));
...

По мне лучше так:
Код: Выделить всё
var
  Doc: TXMLDocument;
  RootNode : TDOMElement;

begin
  Doc := TXMLDocument.Create;
  RootNode := Doc.CreateElement(UTF8Decode('ГлавнаяНода')) as TDOMElement;
  RootNode.SetAttribute(UTF8Decode('АтрибутГлавнойНоды'), UTF8Decode('ЗначениеАтрибута'));
...
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 427
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

Рейтинг@Mail.ru