Проблема с поиском в XML

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Проблема с поиском в XML

Сообщение McLion » 22.10.2020 17:26:06

Всем привет,

у меня вот такое содержание XML-файла:
Код: Выделить всё
<?xml version="1.0" encoding="ISO-8859-1"?>
<KLM445>
- <Header>
  <Sendercode>123456</Sendercode>
  <Sendername>Моя фмрма</Sendername>
  <Externe-Referenz>20201022</Externe-Referenz>
   - <Kopfdaten>
    <Belegart>Rechnung</Belegart>
        <Kopfadressen>
          ...
        </Kopfadressen>
   - </Kopfdaten>
- </Header>


Я хочу найти содержание тэга <Externe-Referenz> и вот как я это делаю:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
  PassNode: TDOMNode;
  Doc: TXMLDocument;
begin
  try
    // Read in xml file from disk
    ReadXMLFile(Doc, 'test.XML');
    // Retrieve the "password" node
    PassNode := Doc.DocumentElement.FindNode('Externe-Referenz');
    // Write out value of the selected node
    ShowMessage(PassNode.NodeValue); // will be blank
    // The text of the node is actually a separate child node
    ShowMessage(PassNode.FirstChild.NodeValue); // correctly prints "abc"
    // alternatively
    ShowMessage(PassNode.TextContent);
  finally
    // finally, free the document
    Doc.Free;
  end;
end;


Но почему то на ShowMessage всегда Exception ошибка.
Что я делаю не так?
Спасибо за помощь!
Аватара пользователя
McLion
постоялец
 
Сообщения: 331
Зарегистрирован: 06.02.2015 18:41:00

Re: Проблема с поиском в XML

Сообщение Снег Север » 22.10.2020 18:08:08

Проверить, что PassNode не nil.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2674
Зарегистрирован: 27.11.2007 16:14:47

Re: Проблема с поиском в XML

Сообщение McLion » 22.10.2020 18:11:41

Снег Север писал(а):Проверить, что PassNode не nil.


Да, верно! Но почему он nil? Значит ничего не находит, но почему ничего не находит, ведь явно тэг есть.
Аватара пользователя
McLion
постоялец
 
Сообщения: 331
Зарегистрирован: 06.02.2015 18:41:00

Re: Проблема с поиском в XML

Сообщение McLion » 26.10.2020 14:14:49

Ок, спасибо, разобрался!
Аватара пользователя
McLion
постоялец
 
Сообщения: 331
Зарегистрирован: 06.02.2015 18:41:00


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru