这个例子看看
unit test;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xmldom, XMLIntf, StdCtrls, msxmldom, XMLDoc, Grids;type
TForm1 = class(TForm)
add: TButton;
XMLDocument1: TXMLDocument;
Memo1: TMemo;
view: TButton;
addchild: TButton;
order: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
StringGrid1: TStringGrid;
Button2: TButton;
procedure addClick(Sender: TObject);
procedure viewClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure addchildClick(Sender: TObject);
procedure orderClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
var
current:Integer;procedure TForm1.addClick(Sender: TObject);
var Clinic: IXMLNode;
begin
current := 0;
Clinic := XMLDocument1.DocumentElement.ChildNodes[current];
Memo1.Lines.Clear;
Clinic.ChildNodes['Title'].Text := 'HOT: ' + Clinic.ChildNodes['Title'].Text;
Memo1.Lines.Add(Clinic.ChildNodes['Title'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Date'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Topics'].Text);
end;
procedure TForm1.viewClick(Sender: TObject);
var Clinic: IXMLNode;beginInc(current);
try
Clinic := XMLDocument1.DocumentElement.ChildNodes[current];
Memo1.Lines.Clear;
Memo1.Lines.Add(Clinic.ChildNodes['Title'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Date'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Topics'].Text);
except
on E: Exception do
Memo1.Lines.Add(E.Message)
end
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
current:=-1;
end;procedure TForm1.addchildClick(Sender: TObject);
var Clinic: IXMLNode;
begin
Clinic := XMLDocument1.DocumentElement.AddChild('Clinic');
Clinic.ChildNodes['Title'].Text := 'Title';
Clinic.ChildNodes['Date'].Text := 'Date';
Clinic.ChildNodes['Topics'].Text := 'Topics';
end;procedure TForm1.orderClick(Sender: TObject);
var
ValueNode: IXMLNode;
XmlTreeNode: IXMLNode;
begin
//XMLDocument1.LoadFromFile('Test.xml');
//XMLDocument1.Active := True;
XMLDocument1.Create('test.xml');
// XMLDocument1.s
XmlTreeNode:=XMLDocument1.Node;
XmlTreeNode := XMLDocument1.DocumentElement.AddChild('order');
ValueNode := XmlTreeNode.AddChild('orderID');
ValueNode.Text := Edit1.Text;
ValueNode := XmlTreeNode.AddChild('orderName');
ValueNode.Text := Edit1.Text;
ValueNode := XmlTreeNode.AddChild('DigitalSign');
ValueNode.Text := Edit2.Text;
ValueNode := XmlTreeNode.AddChild('ApplyId');
ValueNode.Text := Edit2.Text;
// XMLDocument1.Node.
XMLDocument1.SaveToFile('Test.xml'); XmlTreeNode.ParentNode.ChildNodes.Delete(XmlTreeNode.ParentNode.ChildNodes.IndexOf(XmlTreeNode));
XMLDocument1.SaveToFile('Test2.xml');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ChildCount: integer;
xn: IXMLNode;//XMLÎĵµµÄÊ÷½áµã
xnOrder: IXMLNode;
begin
// try
XMLDocument1.LoadFromFile('test.xml');
ChildCount := XMLDocument1.DocumentElement.ChildNodes.Count;
//¼ÆËã×Ó½Úµã¸öÊý
for i := 0 to ChildCount - 1 do
begin
xn := XMLDocument1.DocumentElement.ChildNodes[i];
//¼ÙÉèx.xmlÖÐÓÐOrderId¡¢orderName¡¢ApplyIdÈý¸ö×ӽڵ㡣
//ÏÂÃæµÄÓï¾äΪȡ¸Ã×Ó½ÚµãµÄÄÚÈÝ...
Edit1.text := xn.ChildNodes['OrderId'].Text;
Edit2.text := xn.ChildNodes['orderName'].Text;
Edit3.text := xn.ChildNodes['ApplyId'].Text;
end;
for i:=0 to ChildCount - 1 do
begin
xn := XMLDocument1.DocumentElement.ChildNodes[i];
StringGrid1.Cols[0].Add(xn.ChildNodes['bianhao'].Text);
StringGrid1.Cols[1].Add(xn.ChildNodes['name'].Text);
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
NewStock: IXMLNode;
ValueNode: IXMLNode;
begin
NewStock := XMLDocument1.DocumentElement.AddChild('stock');
NewStock.Attributes['exchange'] := 'NASDAQ';
ValueNode := NewStock.AddChild('name');
ValueNode.Text := 'Cisco Systems';
ValueNode:= NewStock.AddChild('price');
ValueNode.Text := '62.375';
ValueNode := NewStock.AddChild('symbol');
ValueNode.Text := 'CSCO';
ValueNode := NewStock.AddChild('shares');
ValueNode.Text := '25';
XMLDocument1.SaveToFile('Test2.xml');
end;end.
unit test;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xmldom, XMLIntf, StdCtrls, msxmldom, XMLDoc, Grids;type
TForm1 = class(TForm)
add: TButton;
XMLDocument1: TXMLDocument;
Memo1: TMemo;
view: TButton;
addchild: TButton;
order: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
StringGrid1: TStringGrid;
Button2: TButton;
procedure addClick(Sender: TObject);
procedure viewClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure addchildClick(Sender: TObject);
procedure orderClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
var
current:Integer;procedure TForm1.addClick(Sender: TObject);
var Clinic: IXMLNode;
begin
current := 0;
Clinic := XMLDocument1.DocumentElement.ChildNodes[current];
Memo1.Lines.Clear;
Clinic.ChildNodes['Title'].Text := 'HOT: ' + Clinic.ChildNodes['Title'].Text;
Memo1.Lines.Add(Clinic.ChildNodes['Title'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Date'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Topics'].Text);
end;
procedure TForm1.viewClick(Sender: TObject);
var Clinic: IXMLNode;beginInc(current);
try
Clinic := XMLDocument1.DocumentElement.ChildNodes[current];
Memo1.Lines.Clear;
Memo1.Lines.Add(Clinic.ChildNodes['Title'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Date'].Text);
Memo1.Lines.Add(Clinic.ChildNodes['Topics'].Text);
except
on E: Exception do
Memo1.Lines.Add(E.Message)
end
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
current:=-1;
end;procedure TForm1.addchildClick(Sender: TObject);
var Clinic: IXMLNode;
begin
Clinic := XMLDocument1.DocumentElement.AddChild('Clinic');
Clinic.ChildNodes['Title'].Text := 'Title';
Clinic.ChildNodes['Date'].Text := 'Date';
Clinic.ChildNodes['Topics'].Text := 'Topics';
end;procedure TForm1.orderClick(Sender: TObject);
var
ValueNode: IXMLNode;
XmlTreeNode: IXMLNode;
begin
//XMLDocument1.LoadFromFile('Test.xml');
//XMLDocument1.Active := True;
XMLDocument1.Create('test.xml');
// XMLDocument1.s
XmlTreeNode:=XMLDocument1.Node;
XmlTreeNode := XMLDocument1.DocumentElement.AddChild('order');
ValueNode := XmlTreeNode.AddChild('orderID');
ValueNode.Text := Edit1.Text;
ValueNode := XmlTreeNode.AddChild('orderName');
ValueNode.Text := Edit1.Text;
ValueNode := XmlTreeNode.AddChild('DigitalSign');
ValueNode.Text := Edit2.Text;
ValueNode := XmlTreeNode.AddChild('ApplyId');
ValueNode.Text := Edit2.Text;
// XMLDocument1.Node.
XMLDocument1.SaveToFile('Test.xml'); XmlTreeNode.ParentNode.ChildNodes.Delete(XmlTreeNode.ParentNode.ChildNodes.IndexOf(XmlTreeNode));
XMLDocument1.SaveToFile('Test2.xml');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ChildCount: integer;
xn: IXMLNode;//XMLÎĵµµÄÊ÷½áµã
xnOrder: IXMLNode;
begin
// try
XMLDocument1.LoadFromFile('test.xml');
ChildCount := XMLDocument1.DocumentElement.ChildNodes.Count;
//¼ÆËã×Ó½Úµã¸öÊý
for i := 0 to ChildCount - 1 do
begin
xn := XMLDocument1.DocumentElement.ChildNodes[i];
//¼ÙÉèx.xmlÖÐÓÐOrderId¡¢orderName¡¢ApplyIdÈý¸ö×ӽڵ㡣
//ÏÂÃæµÄÓï¾äΪȡ¸Ã×Ó½ÚµãµÄÄÚÈÝ...
Edit1.text := xn.ChildNodes['OrderId'].Text;
Edit2.text := xn.ChildNodes['orderName'].Text;
Edit3.text := xn.ChildNodes['ApplyId'].Text;
end;
for i:=0 to ChildCount - 1 do
begin
xn := XMLDocument1.DocumentElement.ChildNodes[i];
StringGrid1.Cols[0].Add(xn.ChildNodes['bianhao'].Text);
StringGrid1.Cols[1].Add(xn.ChildNodes['name'].Text);
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
NewStock: IXMLNode;
ValueNode: IXMLNode;
begin
NewStock := XMLDocument1.DocumentElement.AddChild('stock');
NewStock.Attributes['exchange'] := 'NASDAQ';
ValueNode := NewStock.AddChild('name');
ValueNode.Text := 'Cisco Systems';
ValueNode:= NewStock.AddChild('price');
ValueNode.Text := '62.375';
ValueNode := NewStock.AddChild('symbol');
ValueNode.Text := 'CSCO';
ValueNode := NewStock.AddChild('shares');
ValueNode.Text := '25';
XMLDocument1.SaveToFile('Test2.xml');
end;end.
共三篇文章
<Delphi 6 XML映象工具>