在delphi中使用xml文档有两种方法
ใช้โบรกเกอร์ xml, 是delphi 内置的。ตัวอย่าง:
หน่วย ShowXML;
อินเตอร์เฟซ
ใช้คลาส HTTPApp Db DbClient Midas
XMLBrokr WebComp MidItems;
พิมพ์
TCustomShowXMLButton = คลาส (TXMLButton IScriptComponent)
ป้องกันแล้ว
XMLMethodName: สตริง;
{ ไอสคริปต์คอมโพเนนต์ }
ขั้นตอน AddElements (AddIntf: IAddScriptElements);
ฟังก์ชัน GetSubComponents: TObject;
{ การใช้งาน IWebContent }
ฟังก์ชั่น ImplContent (ตัวเลือก: TWebContentOptions;
ParentLayout: TLayout): สตริง; แทนที่;
จบ;
TShowXMLButton = คลาส (TCustomShowXMLButton)
สาธารณะ
ตัวสร้างสร้าง (AOwner: TComponent); แทนที่;
ที่ตีพิมพ์
คุณสมบัติ กำหนดเอง;
คุณสมบัติสไตล์;
คุณสมบัติ StyleRule;
คำบรรยายคุณสมบัติ;
คุณสมบัติ XMLBroker;
คุณสมบัติ XMLUseParent;
จบ;
TShowDeltaButton = คลาส (TCustomShowXMLButton)
สาธารณะ
ตัวสร้างสร้าง (AOwner: TComponent); แทนที่;
ที่ตีพิมพ์
คุณสมบัติ กำหนดเอง;
คุณสมบัติสไตล์;
คุณสมบัติ StyleRule;
คำบรรยายคุณสมบัติ;
คุณสมบัติ XMLBroker;
คุณสมบัติ XMLUseParent;
จบ;
การดำเนินการ
ใช้ sysutils MidProd;
ทรัพยากร
sShowXML = 'แสดง XML';
sShowDelta = 'แสดงเดลต้า';
ขั้นตอน TCustomShowXMLButton.AddElements(
AddIntf: IAddScriptElements);
เริ่ม
AddIntf.AddIncludeFile('xmlshow.js');
จบ;
ฟังก์ชั่น TCustomShowXMLButton.GetSubComponents: TObject;
เริ่ม
ผลลัพธ์ := ไม่มี;
จบ;
ฟังก์ชั่น TCustomShowXMLButton.ImplContent (ตัวเลือก: TWebContentOptions;
ParentLayout: TLayout): สตริง;
var
Attrs: สตริง;
Intf: ILayoutWebContent;
FormVarName: สตริง;
RowSetVarName: สตริง;
เริ่ม
AddQuotedAttrib (ชื่อ Attrs 'NAME');
AddQuotedAttrib (สไตล์ Attrs 'สไตล์');
AddQuotedAttrib (สไตล์ 'คลาส' ของ Attrs);
AddQuotedAttrib (คำบรรยายตนเองของ Attrs 'VALUE');
AddCustomAttrib (แอตทริบิวต์กำหนดเอง);
ถ้าได้รับมอบหมาย (XMLData.XMLBroker) แล้ว
เริ่ม
FormVarName := XMLData.XMLBroker.SubmitFormVarName;
RowSetVarName := XMLData.XMLBroker.RowSetVarName(ไม่มี); // แถว แถว กำหนดชื่อ var
จบ;
ถ้าไม่ใช่ (coNoScript ใน Options.Flags)
ผลลัพธ์ :=
รูปแบบ(''#13#10
[Attrs RowSetVarName XMLMethodName sXMLReadyVar])
อื่น
ผลลัพธ์ :=
รูปแบบ(''#13#10
[แอตทริบิวต์]);
ถ้าได้รับมอบหมาย (ParentLayout) และ ParentLayout.GetInterface (ILayoutWebContent Intf) แล้ว
ผลลัพธ์ := Intf.LayoutButton (ผลลัพธ์ GetLayoutAttributes);
จบ;
{ TShowXMLButton }
ตัวสร้าง TShowXMLButton.Create (AOwner: TComponent);
เริ่ม
สืบทอด;
คำบรรยายเริ่มต้น := sShowXML;
XMLMethodName := 'รูท';
จบ;
{ TShowDeltaButton }
ตัวสร้าง TShowDeltaButton.Create (AOwner: TComponent);
เริ่ม
สืบทอด;
คำบรรยายเริ่มต้น := sShowDelta;
XMLMethodName := 'getDelta()';
จบ;
คำสั่ง msxml.dll อยู่ที่:
-
-
ขั้นตอน TDHEDForm.OpenBtnClick (ผู้ส่ง: TObject);
var
pVIn : OleVariant;
พร้อมท์ : OleVariant;
เริ่ม
pVIn := '';
พร้อมท์ := จริง;
DHTMLEdit1.LoadDocument (พรอมต์ pVIn);
จบ;
ขั้นตอน TDHEDForm.SaveBtnClick (ผู้ส่ง: TObject);
var
หรือ vb : OleVariant;
เริ่ม
vo := DHTMLEdit1.CurrentDocumentPath;
ถ้า (vo <> '') แล้ว
เริ่ม
กริยา := เท็จ;
จบ
อื่น
เริ่ม
โว้ := '';
กริยา := จริง;
จบ;
DHTMLEdit1.SaveDocument(หรือ vb);
จบ;
ขั้นตอน TDHEDForm.SaveAsClick (ผู้ส่ง: TObject);
var
หรือ vb : OleVariant;
เริ่ม
โว้ := '';
กริยา := จริง;
DHTMLEdit1.SaveDocument(หรือ vb);
จบ;
-
// 本文为转贴,作者不详,仅供大家参考