необходимо руководство по заполнению сетки XML, полученной из веб-службы с Delphi XE - PullRequest
1 голос
/ 14 марта 2012

Здесь немного потеряно .... Используя кроссплатформенный Delphi XE2 (Win / OSX), я хочу получить некоторый XML-код посредством вызова службы RESTful, проанализировать его, а затем отобразить выбранные элементы в прокручиваемом элементе управления сеткой. Другими словами, мне нужно обработать входящий XML как пакет данных и подключить его к сетке.

На данный момент я могу извлечь XML с помощью компонента TidHTTP и поместить его в элемент управления memo только для его проверки; все выглядит хорошо. Однако я не понимаю лучший способ связать это с сеткой. При работе в режиме Firemonkey с OSX в качестве целевой платформы, типы сетки, по-видимому, не включают данные с учетом данных. На самом деле мне не нужно прямое соединение с источником данных как таковое, поскольку содержимое сетки будет доступно только для чтения, поэтому я готов вручную заполнить сетку, если потребуется. Какой самый простой способ загрузить XML и вставить его в мою сетку?

Возможно, глупые вопросы, но в XE2 так много веб-ориентированных элементов управления и технологий, что я просто потерян. Спасибо!

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Вы должны преобразовать XML в список объектов, а затем использовать LiveBindings, чтобы подключить его к сетке. Это двухступенчатый процесс. Вы найдете множество примеров для каждого шага.

0 голосов
/ 15 марта 2012

«Почти» без кодового способа сделать это - использовать XSLT и TClientDataSet:

  • преобразовать входящий XML в совместимый с TClientDataSet пакет данных XML, используя XSL
  • загрузка пакета данных XML в TClientDataSet
  • заполнение сетки путем перебора строк и столбцов набора данных

XSLT - это своего рода швейцарский армейский нож для XML- это язык (на основе XML), используемый для преобразования документов XML в другие форматы (HTML, обычный текст, PDF ...).

Преимущество этого решения состоит в том, что отсутствует промежуточный код (объекты) должны быть закодированы и созданы - это быстрый способ прочитать ответ HTML и преобразовать его в набор данных.

Быстрый поиск в сети нашел этот пример .


Однако я не проверял, доступен ли XSLT в Delphi для OSX.

...