delphi使用XSD处理XML

时间:2013-09-25 01:34:43

标签: delphi xml-parsing xsd

我似乎无法使用XSD和XML数据绑定向导访问在线XML文件内容。我需要每天更新一个数据库表,其中包含来自在线XML的所有请求的货币。 我使用Delphi XE,XSD位于: http://www.bnr.ro/nbrfxrates.xsd XML就是这样:http://www.bnr.ro/files/xml/years/nbrfxrates2013.xml

所以我下载了XSD,并使用XML Data Binding向导进行处理。这导致了单位nbrfxrates。

我需要能够在特定日期访问特定货币的汇率,例如某些功能

function getMyRate(date,currency):double;
begin
...
end; 

我可以提供日期和货币并从XML中获取值。我不知道如何做到这一点。

XML结构看起来很简单,但我坚持从Delphi访问它... 请帮帮我。

1 个答案:

答案 0 :(得分:1)

您只需要使用提供的访问器加载文件并访问节点,这些访问器基本上都是Delphi标准类,具有访问底层DOM的神奇功能。

这是我在摆弄文件几秒后所得到的。

procedure TForm1.Button1Click(Sender: TObject);
var
  obj: IXMLDataSet;
begin
  obj := LoadDataSet('D:\Downloads\nbrfxrates2013.xml');
  ShowMessage(obj.Body.Cube.Items[0].Date);
end;