|
ตัวย่างต่อไปนี้ จะเป็นตัวอย่างง่ายๆสำหรับการอ่านไฟล์ XML แล้วจัดการด้วย
Delphi โดยใช้ DOM
Down
Load Source Code (246Kb) พร้อม EXE file
ตัวอย่างของข้อมูลในรูปของ XML
สมมุตให้เป็นข้อมูล XML ที่มีส่วน Header และ DATA อยู่ใน <TESTXML>
|
<?xml version="1.0" encoding="windows-874"?>
<TESTXML>
<HEADER>
<VERSION>1.0</VERSION>
</HEADER>
<DATA>ทดสอบ</DATA>
</TESTXML>
|
บันทึกข้อมูลข้างต้นลงในไฟล์ชื่อ sample.xml ตัวอย่าง Dephi source
code ที่ทำหน้าที่ load ข้อมูล และ แสดงผลคือ
|
unit sample;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
XMLDocument1: TXMLDocument;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); // กรณีกดปุ่ม
LOAD XML
begin
XMLDOCument1.Active := false;
XMLDOCument1.LoadFromFile('sample.xml'); // Load ไฟล์
XMLDOCument1.Active := true;
Memo1.Clear;
Memo1.Lines.Add(XMLDOcument1.XML.Text);
end;
procedure TForm1.Button3Click(Sender: TObject); // กรณีกดปุ่ม
Show DATA
var strData:string;
WorkingElement:IXMLNODE;
begin
if XMLDOCument1.Active then // ถ้ามีการ load ข้อมูลแล้ว
begin
WorkingElement := XMLDOCument1.DocumentElement.ChildNodes.FindNode('DATA');
// หา node data ลึกลงไป 1 ชั้น
strData := workingElement.NodeValue; // ดึงข้อมูลออกมา
showMessage(strData); // แสดงข้อความ
end
else
showMessage('No XML document loaded');
end;
end.
|
ข้อมูลที่แสดงก็จะเป็นข้อมูลที่อยู่ใน node <DATA>
|