这里有点丢失...... 使用Delphi XE2跨平台(Win / OSX),我想通过调用RESTful服务来检索一些XML,解析它,然后在可滚动的网格控件中显示所选元素。换句话说,我需要将传入的XML视为数据包并将其连接到网格。
我可以使用TidHTTP组件在此时检索XML并将其放入备忘录控件中以进行检查;一切看起来都不错但是,我不明白将其连接到网格的最佳方法。在以OSX作为目标平台的Firemonkey模式下运行时,网格类型似乎不包含数据感知类型。我实际上并不需要与数据源本身的实时连接,因为网格内容将是只读的,所以如果必须的话,我愿意手动填充网格。什么是最简单的方法来摄取XML并将其放入我的网格中?
可能是愚蠢的问题,但XE2有很多面向网络的控件和技术,我只是丢失了。谢谢!
答案 0 :(得分:1)
您应该将XML转换为对象列表,然后使用LiveBinding将其连接到网格。这是一个两步的过程。你会发现每个步骤都有很多例子。
答案 1 :(得分:0)
“几乎”无代码的方法是使用XSLT和TClientDataSet:
XSLT是一种用于XML的瑞士军刀 - 它是一种(基于XML的)语言,用于将XML文档转换为其他格式(HTML,纯文本,PDF ......)。
此解决方案的优点是不需要编写和实例化中间代码(对象) - 它是读取HTML响应并转换为数据集的快捷方式。
在网上快速搜索this example。
但是我还没有检查是否已经在Delphi for OSX中使用XSLT。