unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Xml.XMLDoc, Xml.xmldom, Xml.XMLIntf,
Vcl.StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
IDoc: IXMLDocument;
Root, N1, N2, N3: IXMLNode;
I: Integer;
begin
IDoc := TXMLDocument.Create(nil);
IDoc.Active := True;
Root := IDoc.AddChild('公司');
for I := 1 to 9 do
begin
N1 := Root.AddChild('部门');
N1.Attributes['Id'] := I;
N1.AddChild('名称').NodeValue := '部门_'+I.ToString;
N1.AddChild('主管').NodeValue := '主管_'+I.ToString;
end;
IDoc.SaveToFile('d:\jjw.xml');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Doc: IXMLDocument;
Node: IXMLNode;
I: Integer;
begin
Doc := TXMLDocument.Create(nil);
Doc.LoadFromFile('d:\jjw.xml');
Doc.Active := True;
Node := Doc.DocumentElement;
for I := 0 to Node.ChildNodes.Count-1 do
Node.ChildNodes[I].AddChild('人数').NodeValue := IntToStr(I+1);
Doc.SaveToFile('d:\jjw.xml');
end;
procedure TForm1.Button3Click(Sender: TObject);
var
Doc: IXMLDocument;
Node: IXMLNode;
I: Integer;
begin
Doc := TXMLDocument.Create(nil);
Doc.LoadFromFile('d:\jjw.xml');
Doc.Active := True;
Node := Doc.DocumentElement;
for I := 0 to Node.ChildNodes.Count-1 do
Node.ChildNodes[I].ChildNodes.Delete(2);
Doc.SaveToFile('d:\jjw.xml');
end;
procedure TForm1.Button4Click(Sender: TObject);
var
Doc: IXMLDocument;
Root, Node: IXMLNode;
I: Integer;
begin
Doc := TXMLDocument.Create(nil);
Doc.LoadFromFile('d:\jjw.xml');
Doc.Active := True;
Root := Doc.DocumentElement;
for I := 0 to Root.ChildNodes.Count-1 do
begin
Node := Root.ChildNodes[I];
if Node.Attributes['Id']=3 then
Node.ChildNodes[2].NodeValue := 33333;
end;
Doc.SaveToFile('d:\jjw.xml');
end;
end.