基金评论家kenter博客

欢迎进入基金评论家kenter博客,有金融股票基金问题或意见请留言反馈,谢谢您的参与。

« 有时候需要静下来考虑自己的职业生涯myeclipse6.0.1里对生成的hibernate和集成spring两种方式的调用与java操作xml的四种方法 »

delphi7读取写入操作XML的例子

   由于项目要用到webservice的通讯 xml的操作不可避免

  网上找了很久delphi对xml操作的文档,没有几个是详细的。

  下面我自己写了一个例子 针对dephi7的TXMLDocument控件的操作示例

  unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls, Buttons, OleCtrls,
  SHDocVw;

type
  TForm1 = class(TForm)
    xmldcmnt1: TXMLDocument;
    btn1: TBitBtn;
    btn2: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
 tmpFile  : TextFile;
begin
 try
  AssignFile(tmpFile,xmldcmnt1.FileName);
  rewrite(tmpFile);
  writeln(tmpFile,'<?xml version="1.0" encoding="GB18030"?>',#10#13);
  writeln(tmpFile,'<XML>',#10#13);
  writeln(tmpFile,'</XML>');
 finally
  CloseFile(tmpFile);
 end;

 try
  xmldcmnt1.Active := True;
  xmldcmnt1.Node.ChildNodes.Nodes[1].AddChild('社会保障卡号').Text := '54654654';
  xmldcmnt1.Node.ChildNodes.Nodes[1].AddChild('公民身份号码').Text := '54545454';
  xmldcmnt1.Node.ChildNodes.Nodes[1].AddChild('姓名').Text := '你条命';
  //写入分支节点
  xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].AddChild('速度').Text:='撒旦法';
  xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].AddChild('速度').Text:='撒旦法2';
  xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].AddChild('速度').Text:='撒旦法3';
  xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].AddChild('速度').Text:='撒旦法4';
  xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].AddChild('速度').Text:='撒旦法4';
 finally
  xmldcmnt1.SaveToFile;
  xmldcmnt1.Active := False;
 end;


end;

procedure TForm1.btn2Click(Sender: TObject);
   var
     s :string;
     aNode, aValueNode: IXMLNode;
     list : IXMLNodeList;
     i :Integer;
begin
 if not (FileExists(xmldcmnt1.FileName)) then
  raise Exception.Create('找不到xml文件');
  try
    xmldcmnt1.Active := True;
    list :=xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes;
    list :=xmldcmnt1.Node.ChildNodes.Nodes[1].ChildNodes['sd'].ChildNodes;
    for i:=0 to list.Count-1 do
    begin
    ShowMessage(list.Nodes[i].ChildValues['']);
    end;
  finally
    xmldcmnt1.Active := False;
  end;

end;

end.

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Devo Build 80201

Copyright 0756-zh.com 珠海交友伴游网.