Главная страница
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.067 c
1-1098041341
Jetus
2004-10-17 23:29
2004.11.07
Как сохранить иконку?


1-1098828526
BURN
2004-10-27 02:08
2004.11.07
Память


14-1097848974
Kerk
2004-10-15 18:02
2004.11.07
Странные вещи снятся


1-1098081997
samumka
2004-10-18 10:46
2004.11.07
Проверка создания mdichild формы?


3-1097045637
Aser
2004-10-06 10:53
2004.11.07
Таблица не отображается и переключениях TabSheets