700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > delphi基于html页面和xml实现表单填写 如何从xml文件读取数据 并以delphi语言显示在文本框中...

delphi基于html页面和xml实现表单填写 如何从xml文件读取数据 并以delphi语言显示在文本框中...

时间:2020-01-07 01:42:48

相关推荐

delphi基于html页面和xml实现表单填写 如何从xml文件读取数据 并以delphi语言显示在文本框中...

看看Delphi自己的TXMLDocument组件,例如:

procedure TForm1.FormCreate(Sender: TObject);

var

Vehicle: IXMLNode;

begin

XMLDocument1.FileName :='vehicle.xml';

XMLDocument1.Active := True;

try

Vehicle := XMLDocument.DocumentElement;

txtType.Text := Vehicle.ChildNodes['type'].Text;

txtModel.Text := Vehicle.ChildNodes['model'].Text;

txtnumber.Text := Vehicle.ChildNodes['number'].Text;

finally

XMLDocument1.Active := False;

end;

end;

或者,直接使用IXMLDocument接口(TXMLDocument包装):

procedure TForm1.FormCreate(Sender: TObject);

var

Doc: IXMLDocument;

Vehicle: IXMLNode;

begin

Doc := LoadXMLDocument('vehicle.xml');

Vehicle := Doc.DocumentElement;

txtType.Text := Vehicle.ChildNodes['type'].Text;

txtModel.Text := Vehicle.ChildNodes['model'].Text;

txtnumber.Text := Vehicle.ChildNodes['number'].Text;

end;

更新:问题中的XML已被更改,现在将车辆元素包裹在数据元素内,并具有多个车辆元素.所以上面的代码必须相应调整,例如:

procedure TForm1.FormCreate(Sender: TObject);

var

Doc: IXMLDocument;

Data: IXMLNode;

Node: IXMLNode;

I: Integer;

begin

Doc := LoadXMLDocument('vehicle.xml');

Data := Doc.DocumentElement;

for I := 0 to Data.ChildNodes.Count-1 do

begin

Node := Data.ChildNodes[I];

// if all of the child nodes will always be 'vehicle' only

// then this check can be removed...

if Node.LocalName = 'vehicle' then

begin

// use Node.ChildNodes['type'], Node.ChildNodes['model'],

// and Node.ChildNodes['number'] as needed...

end;

end;

end;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。