?? uxml.pas
字號:
unit uXML;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;
type
TForm1 = class(TForm)
XMLDocument1: TXMLDocument;
btnShowNode1: TButton;
Memo1: TMemo;
btnShowNode2: TButton;
btnEditNode1: TButton;
btnEditNode2: TButton;
btnAddNode: TButton;
Memo2: TMemo;
btnDelNode: TButton;
btnViewXml: TButton;
procedure btnShowNode1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnShowNode2Click(Sender: TObject);
procedure btnEditNode1Click(Sender: TObject);
procedure btnEditNode2Click(Sender: TObject);
procedure btnAddNodeClick(Sender: TObject);
procedure btnDelNodeClick(Sender: TObject);
procedure btnViewXmlClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Email;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
XMLDocument1.Active := False;
XMLDocument1.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Email.xml');
XMLDocument1.Active := True;
end;
procedure TForm1.btnShowNode1Click(Sender: TObject);
var
i: Integer;
AXmlNode: IXMLNode;
begin
AXmlNode := XMLDocument1.DocumentElement;
Memo1.Lines.Clear;
Memo1.Lines.Add('Heading=' + AXmlNode.ChildNodes['Heading'].Text);
for i := 0 to AXmlNode.ChildNodes['From'].ChildNodes.Count - 1 do
begin
Memo1.Lines.Add('From->Contact->Name=' + AXmlNode.ChildNodes['From'].ChildNodes[i].ChildNodes['Name'].Text);
Memo1.Lines.Add('From->Contact->Email=' + AXmlNode.ChildNodes['From'].ChildNodes[i].ChildNodes['Email'].Text);
end;
for i := 0 to AXmlNode.ChildNodes['To'].ChildNodes.Count - 1 do
begin
Memo1.Lines.Add('To->Contact->Name=' + AXmlNode.ChildNodes['To'].ChildNodes[i].ChildNodes['Name'].Text);
Memo1.Lines.Add('To->Contact->Email=' + AXmlNode.ChildNodes['To'].ChildNodes[i].ChildNodes['Email'].Text);
end;
Memo1.Lines.Add('Body=' + AXmlNode.ChildNodes['Body'].Text);
end;
procedure TForm1.btnShowNode2Click(Sender: TObject);
var
i: Integer;
AXmlNoteType: IXMLNoteType;
begin
AXmlNoteType := GetNote(Self.XMLDocument1);
//AXmlNoteType := LoadNote(ExtractFilePath(ParamStr(0)) + 'Email.xml');
Memo1.Lines.Clear;
Memo1.Lines.Add('Heading=' + AXmlNoteType.Heading);
for i := 0 to AXmlNoteType.From.Count - 1 do
begin
Memo1.Lines.Add('From->Contact->Name=' + AXmlNoteType.From.Contact[i].Name);
Memo1.Lines.Add('From->Contact->Email=' + AXmlNoteType.From.Contact[i].Email);
end;
for i := 0 to AXmlNoteType.To_.Count - 1 do
begin
Memo1.Lines.Add('To->Contact->Name=' + AXmlNoteType.To_.Contact[i].Name);
Memo1.Lines.Add('To->Contact->Email=' + AXmlNoteType.To_.Contact[i].Email);
end;
Memo1.Lines.Add('Body=' + AXmlNoteType.Body);
end;
procedure TForm1.btnEditNode1Click(Sender: TObject);
var
AXmlNode: IXMLNode;
begin
AXmlNode := XMLDocument1.DocumentElement;
Memo1.Lines.Clear;
AXmlNode.ChildNodes['Heading'].Text := 'XMLDocument: Reminder';
Memo1.Lines.Add('Heading=' + AXmlNode.ChildNodes['Heading'].Text);
end;
procedure TForm1.btnEditNode2Click(Sender: TObject);
var
ANewXmlNoteType, AOldXmlNoteType: IXMLNoteType;
begin
ANewXmlNoteType := GetNote(Self.XMLDocument1);
AOldXmlNoteType := LoadNote(ExtractFilePath(ParamStr(0)) + 'Email.xml');
Memo1.Lines.Clear;
ANewXmlNoteType.Heading := 'XMLDataBinding: Reminder';
Memo1.Lines.Add('Heading=' + ANewXmlNoteType.Heading);
end;
procedure TForm1.btnAddNodeClick(Sender: TObject);
var
ACurrXmlNode, ANewXmlNode: IXMLNode;
begin
ACurrXmlNode := XMLDocument1.DocumentElement;
ANewXmlNode := ACurrXmlNode.ChildNodes['From'].AddChild('Contact');
ANewXmlNode.ChildNodes['Name'].NodeValue := '吳健';
ANewXmlNode.ChildNodes['Email'].NodeValue := 'wujian_121@163.com';
Memo2.Lines.Clear;
XMLDocument1.Active := False;
XMLDocument1.Active := True;
Memo2.Lines.Assign(XMLDocument1.XML);
end;
procedure TForm1.btnDelNodeClick(Sender: TObject);
var
AXmlNode: IXMLNode;
begin
AXmlNode := XMLDocument1.DocumentElement;
AXmlNode.ChildNodes['From'].ChildNodes.Delete('Contact');
Memo2.Lines.Clear;
XMLDocument1.Active := False;
XMLDocument1.Active := True;
Memo2.Lines.Assign(XMLDocument1.XML);
end;
procedure TForm1.btnViewXmlClick(Sender: TObject);
begin
Memo2.Lines.Clear;
XMLDocument1.Active := False;
XMLDocument1.Active := True;
Memo2.Lines.Assign(XMLDocument1.XML);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -