Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

XMLDocument, проблема при чтении xml-файла.   Найти похожие ветки 

 
calm ©   (2004-10-22 14:10) [0]

Уважаемые коллеги,
не могу прочитать данные из XML-файла.
На первый взгляд все делаю в соответсвии с хелпом и доступными примерами.
Есть такой код:
procedure TSmeta.Load(FileName: string);
var
 xmlWorkList:IXMLNode;
 xmlWork:IXMLNode;
 xmlWorkParam:IXMLNode;
 xmlKoeffList:IXMLNode;
 i:Integer;
 work_cnt:Integer;
 test:Variant;
 Work:TWork;
begin
 with dmCore do
 begin
   // получаем количество работ
   XMLDocument.FileName:=FileName;
   XMLDocument.Active:=True;
   xmlWorkList:=XMLDocument.DocumentElement.ChildNodes[0];
   work_cnt:=xmlWorkList.ChildNodes.Count;

   i:=0;
   while i<=work_cnt-1 do
   begin
     xmlWork:=xmlWorkList.ChildNodes[i];
     MessageDlg(xmlWork.LocalName, mtINformation, [mbOk], 0);
     MessageDlg(IntToStr(xmlWork.ChildNodes.Count), mtINformation, [mbOk], 0);
     Work:=TWork.Create;

     xmlWorkParam:=xmlWork.ChildNodes["id"];
     Work.Id:=StrToInt(xmlWorkParam.Text);
     xmlWorkParam:=xmlWork.ChildNodes["caption"];
     Work.Caption:=xmlWorkParam.Text;

     Inc(i);
   end;

 end; // with dmCore
end;

и вот такой xml-файл
<?xml version="1.0" encoding="windows-1251" standalone="yes"?>
<smeta>
 <works count="4">
   <work>
     <id>0</id>
     <caption>test caption</caption>
   </work>
   <work>
     <id>0</id>
     <caption>test caption 2</caption>
   </work>
   <work>
     <id>0</id>
     <caption>test caption 3</caption>
   </work>
   <work>
     <id>0</id>
     <caption>test caption 4</caption>
   </work>
 </works>
</smeta>

Поблемы:
1. work_cnt:=xmlWorkList.ChildNodes.Count;
work_cnt присваивается 0, хотя я ожидаю 4 (количество узлов в узле works)

2. Если вместо строки
xmlWorkList:=XMLDocument.DocumentElement.ChildNodes[0];
написать
xmlWorkList:=XMLDocument.DocumentElement; (ожидаю, чато это корневой узел <smeta>
то work_cnt станет равно 3, хотя у узла <smeta> только Один потомок.

В чем может быть ошибка?


 
Calm ©   (2004-10-22 15:13) [1]

файл я загружаю какой надо. Проверил это еще раз на свякий случай :)



Страницы: 1 вся ветка

Текущий архив: 2004.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.589 c
1-1098340163
AntonSh
2004-10-21 10:29
2004.11.07
Строка


14-1097991894
SkyRanger
2004-10-17 09:44
2004.11.07
История Руси/России правда и ложь


8-1091926499
Andry
2004-08-08 04:54
2004.11.07
Свет в GLScene


4-1096092695
Ale}{(is)
2004-09-25 10:11
2004.11.07
Как добавить/удалить/заменить ресурс исполняемого файла


1-1098700844
cvg
2004-10-25 14:40
2004.11.07
Окно программы поверх всех окон -- как?