Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

XML в Delphi

483
22 августа 2002 года
DED_MOROZ
67 / / 20.03.2000
Hi All!
Есть у меня к тебе такой вопрос мне нужно прочитать nodes из XML документ, как делать?
Я пробывал так
doc = TXMLDocument.Create(nil);
doc.LoadFromFile('document.xml');
for i = 0 to doc.ChildNodes[1].Count do
ListBox1.Items.Add(doc.ChildNodes[1].ChildNodes.NodeName);
Короче говоря не работает это дело Всякие access violation выскакивают. Наверно с инициализацией что-то не так. Но что?
И вообще если можно пример дайте.
6.5K
13 января 2004 года
T@R@N
1 / / 13.01.2004
Попробуй компонент Turbo XML классная штука :)
7.4K
14 мая 2007 года
malor
69 / / 20.01.2007
Код:
procedure TForm1.bbReadXMLClick(Sender: TObject);
var
  XMLDoc: TXMLDocument;
  Node,NodeSvc: IXMLNode;
  i,j:Integer;
begin
    CoInitialize(nil);
    XMLDoc:= TXMLDocument.Create(nil);
    XMLDoc.LoadFromFile(ExtractFilePath(Application.ExeName)+'otvet.xml');
    XMLDoc.Active := true ;
    Node := XMLDoc.DocumentElement.ChildNodes[0];


У меня на последней из приведенных строк выскакивает окошко с таким содержимым:
---------------------------
Debugger Fault Notification
---------------------------
Project C:\Program Files\Borland\Delphi7\Projects\XMLproga\MyXML.exe raised too many consecutive exceptions:
'access violation at 0x00000000: read of address 0x00000000'. Process Stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

Что неправильно?

XML-файл:
Код:
<Provs_Lst>
        <Prov id="1">
            <name>Поставщик_1</name>
            <Prov_Svcs>
                <Svc id="1">
                      <Svc_Name>Вид_оплаты_1</Svc_Name>
                      <min_amount>1000</min_amount>
                 </Svc>
                 <Svc id="2">
                      <Svc_Name>Вид_оплаты_2</Svc_Name>
                      <min_amount>1000</min_amount>
                 </Svc>
            </Prov_Svcs>
        </Prov>
        <Prov id="5">
             .... аналогичное заполнение....
        </Prov>
 <Provs_Lst>

Так понимаю, та злополучная строка должна ссылаться на блок <Prov id="1"> ... </Prov> ?

WinXP_sp2, Delphi 7
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог