powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как создать в XML-документе два узла с одинаковыми именами?
6 сообщений из 6, страница 1 из 1
Как создать в XML-документе два узла с одинаковыми именами?
    #39669377
mitugova_ella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Может кто-нибудь подсказать, как создать в XML документе два узла с одинаковыми именами. Типа
Код: xml
1.
2.
3.
4.
<ArrayOfNUMPAS>
<NUMPAS>Номер паспорта животного1</ NUMPAS>
<NUMPAS>Номер паспорта животного2</ NUMPAS>
</ArrayOfNUMPAS>



Делаю так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
var    Xml: IXMLDocument;
...
   Xml:= TXMLDocument.Create(nil);
...
   with Xml do
    begin
     with   DocumentElement do
          begin          //DocumentElement
            
 ...
             with AddChild ('ArrayOfNUMPAS')  do
              begin //ArrayOfNUMPAS
                for nb:=0 to aqBirki.recordcount-1 do
                 begin
               AddChild('NUMPAS') ;
               ChildValues['NUMPAS']:=aqBirki.FieldByName('nbirki').value;
                 aqBirki.Next;
                 end;
              end;



В файле это выглядит так

Код: xml
1.
2.
3.
4.
- <ArrayOfNUMPAS>
  <NUMPAS>333333333333</NUMPAS> 
  <NUMPAS /> 
  </ArrayOfNUMPAS>


Это последняя запись из двух, она затирает первую. Как быть?
...
Рейтинг: 0 / 0
Как создать в XML-документе два узла с одинаковыми именами?
    #39669412
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
AddChild('NUMPAS').NodeValue := aqBirki.FieldByName('nbirki').value;
...
Рейтинг: 0 / 0
Как создать в XML-документе два узла с одинаковыми именами?
    #39669446
mitugova_ella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
Спасибо большое, все получилось. А я столько времени потратила, экспериментируя. Спасибо.
...
Рейтинг: 0 / 0
Как создать в XML-документе два узла с одинаковыми именами?
    #39669518
mitugova_ella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вариант правильного формирования узлов с одинаковыми номерами, вдруг кому пригодится. Вариант тоже не мой, но проверила, работает.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
root:=DocumentElement ;
arr:=root.AddChild('ArrayOfNUMPAS');
for nb:=0 to aqBirki.recordcount-1 do
begin
  item:=Arr.AddChild('NUMPAS');
  item.Text:= aqBirki.FieldByName('nbirki').value;
  aqBirki.Next;
end;
...
Рейтинг: 0 / 0
Как создать в XML-документе два узла с одинаковыми именами?
    #39669553
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mitugova_ellaА я столько времени потратила, экспериментируя.Фокус в том, что этой строкой
mitugova_ella
Код: pascal
1.
AddChild('NUMPAS');

вы создаете новый элемент NUMPAS. А этой
mitugova_ella
Код: pascal
1.
ChildValues['NUMPAS']

вы ищете первый дочерний элемент с именем NUMPAS
...
Рейтинг: 0 / 0
Как создать в XML-документе два узла с одинаковыми именами?
    #39669560
mitugova_ella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
Спасибо за пояснение. Теория у меня. конечно, хромает. Формирование XML делала всего пару раз и такого случая не было. Спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как создать в XML-документе два узла с одинаковыми именами?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]