|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
XML BINDIND в Delphi
Доброго времени суток, Уважаемые форумчане!
При использовании XML BINDIND столкнулся со следующей проблемой: с помощью инструмента XML binding сформированы интерфейсы для доступа к полям 2 xml файлов. В одном случае в коде все отрабатывает нормально (Books), во втором случае (Loss) не могу обратиться через сформированный интерфейс к полям xml файла. Xml файлы и pas файлы приложены, вот сам код обращений: Код:
procedure TForm3.Button1Click(Sender: TObject); var DOC:IXMLLossRequestType; doc1:IXMLBooksType; begin doc:=GetLossRequest(XMLDocument1) ; doc1:=Getbooks(XMLDocument2); ShowMessage(doc1.Book[1].Title); showmessage (doc.LossTitle.TripNumber); end; end. lmikle: Пользуемся тегами. Последний раз редактировалось lmikle, 17.08.2015 в 19:12. |
#2
|
|||
|
|||
На первый взгляд смотрится нормально.
Проверь что находится в XMLDocument1. А вообще, мне не очень нравится, что в loss корневой тег со схемой. Попробуй подредактировать xml убрав схему и посмотри что получится. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
alekso (18.08.2015)
|
#3
|
|||
|
|||
К сожалению схему убрать нельзя, файл уходит в другую систему и не валидируется ей без указания схемы :-(
|
#4
|
|||
|
|||
Дык ты проверил, что находится в XMLDocument1?
|
#5
|
|||
|
|||
да, загружен loss.xml который приложен в первом сообщении темы.
|
#6
|
|||
|
|||
Тады останавливаемся в отладчике на 9 строчке кода и смотрим в Watch что у нас там получается. можно еще переписать на отдельные шаги и смотреть где оно падает. Других идей пока нет.
|
#7
|
||||
|
||||
Похоже можно и напрямую к нодам обратиться, без интерфейса
Код:
... showmessage (doc.ChildNodes[0].ChildNodes[1 { или 'TripNumber' }].Text); ... З.Ы. И проверьте названия секций, в смысле NodeName, есть подозрение что тег "rsa:" ни к месту туда пролазит при парсинге Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 19.08.2015 в 08:11. |