gpt4 book ai didi

xml - 在 Delphi 中使用 XML(将特定数据返回给变量)

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:00 25 4
gpt4 key购买 nike

过去几天我一直在尝试使用 Delphi 2010 和 MSXML,我是一个极端的新手,需要一点指导。

var
MemoryStream: TMemoryStream;
XMLPath: String;
sName: String;
XMLDoc: variant;
doc: TStringList;
begin
//unrelated code
// Create XML File to hard disk
begin
MemoryStream := TMemoryStream.Create;

IdHTTP1.get('http://somewebsite' + , MemoryStream);
MemoryStream.Position := 0;
MemoryStream.SaveToFile('data.xml');
MemoryStream.Free;

end;
// Load XML file for data display

doc:=TStringList.Create;
doc.LoadFromFile('data.xml');

XMLDoc := CreateOleObject('Msxml2.DOMDocument.6.0');
XMLDoc.async := false;
XMLDoc.LoadXML(doc.Text);

如您所见,我能够将数据加载到硬盘上的 XML 文件中,然后将该文件加载到 DomDocument 中。从这一点开始我就卡住了……我想像使用 ADO 中的记录集一样使用这些数据(例如 SomeVariable := rs.Fields.Item('DesiredData').Value)。我做了一些研究并阅读了几种方法。但是我无法弄清楚这一点。我知道它一定是微不足道的,我只是还不够了解它。

似乎有很多关于如何写入 XML 文件的好例子,但没有关于如何使用数据的例子。

最佳答案

我想你可以在接下来的几行中用这个做一些事情:

someNode := XMLDoc.selectSingleNode('//route/to/node');
str := someNode.text;

selectSingleNode 的参数基本上是一个 XPath 表达式,因此您可以查询属性节点,如://route/to/node/@attrib

这里是 selectSingleNode 的 MSDN 引用:http://msdn.microsoft.com/en-us/library/ms757846(v=VS.85).aspx这是 XPath 语法:http://msdn.microsoft.com/en-us/library/ms256471(v=VS.85).aspx

另外,我可以向您指出一个很好的 XML 库,用于 Delphi 的 XML 操作,它也与 MSXML 兼容,但您不必直接使用变体:http://www.omnixml.com/

如果您的 XML 没有太大变化,一个更好的方法是使用 XML 数据绑定(bind)向导,它基本上从 XML 或 XSD 创建一个完整的对象模型(它使得创建或读取 XML 就像实例化一个复合对象,创建你需要的类和方法):http://www.youtube.com/watch?v=4D78MG4CaAI&feature=player_embedded

关于xml - 在 Delphi 中使用 XML(将特定数据返回给变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com