XML.com

XML.com
  Home | Resources | FAQs |
    
Home :: XML009

XML009: Load ข้อมูล XML ทั้งไฟล์พร้อมแสดงข้อมูล บาง node (Delphi)

ตัวย่างต่อไปนี้ จะเป็นตัวอย่างง่ายๆสำหรับการอ่านไฟล์ 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>

 

Contact Us | Our Mission | Privacy Policy | Advertise With Us | Site Help
Copyright © 2002 Copy เค้ามาจาก www.xml.com จะได้ดูเหมือนๆกัน