Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c