delphi 使用 XSD 处理 XML

问题描述 投票:0回答:2

我似乎无法使用 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 数据绑定向导对其进行处理。这产生了单位 nbrfxrates。

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

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

我可以提供日期和货币并从 XML 中获取值。我不知道该怎么做。

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

delphi xml-parsing xsd
2个回答
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;

0
投票

块引用

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

块引用

我在delphi 12.1中找不到“IXMLDataSet”的单元。请帮助我必须使用哪个单位?

© www.soinside.com 2019 - 2024. All rights reserved.