unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, xmldom, XMLIntf, msxmldom, XMLDoc, ShellAPI;
type
TForm1 = class(TForm)
btn1: TButton;
btn2: TButton;
btn3: TButton;
mmo1: TMemo;
btn4: TButton;
xmldcmnt1: TXMLDocument;
btn5: TButton;
mmo2: TMemo;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// 载入方法1:LoadFromFile
procedure TForm1.btn1Click(Sender: TObject);
begin
// 将XNMl文件载入内存中,xmldcmnt1为内存中对象
xmldcmnt1.LoadFromFile('E:\xml\test.xml');
// XML内容显示在mmo1中(两者都可)
mmo1.Lines := xmldcmnt1.XML;
mmo2.Lines.Text := xmldcmnt1.XML.Text;
// 错误的写法
// mmo1.Lines.Text := xmldcmnt1.XML;
// mmo1.Lines := xmldcmnt1.XML.Text;
// mmo1.Lines返回的是一个TStrings类型,而xmldcmnt1.XML.Text返回String类型
end;
// 载入方法2:指定FileName,然后激活
procedure TForm1.btn2Click(Sender: TObject);
begin
// FileName为xmldcmnt1属性
xmldcmnt1.FileName := 'E:\xml\test.xml';
// 激活
xmldcmnt1.Active := True;
// 同上(查看)
mmo1.Lines := xmldcmnt1.XML;
end;
// 载入方法3:LoadFromStream
procedure TForm1.btn3Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('E:\xml\test.xml');
xmldcmnt1.LoadFromStream(ms);
ms.Free;
mmo1.Lines := xmldcmnt1.XML;
end;
// 可以用LoadFromFile或指定FileName的方法访问网上的XML
// 通过LoadFromStream方法加载网络上XMl会提示无法打开XXXXXX标题,属性等错误
procedure TForm1.btn4Click(Sender: TObject);
begin
xmldcmnt1.LoadFromFile('http://www.google.com/ig/skins/jr.xml');
mmo1.Lines := xmldcmnt1.XML;
end;
// 用浏览器查看XML,需要一个API函数:ShellAPI.ShellExecute,所以先uses ShellAPI
procedure TForm1.btn5Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'E:\xml\test.xml', nil, nil, SW_NORMAL);
end;
end.
浙公网安备 33010602011771号