Delphi では xml 文を使用する 2 つの方法があります
xml ブローカーを使用します。これは Delphi 内にあります。例:
ユニット ShowXML;
インタフェース
クラスを使用します HTTPApp Db DbClient Midas
XMLBrokr WebComp MidItems;
タイプ
TCustomShowXMLButton = クラス(TXMLButton IScriptComponent)
保護されています
XMLMethodName: 文字列;
{IScriptコンポーネント}
プロシージャ AddElements(AddIntf: IAddScriptElements);
関数 GetSubComponents: TObject;
{ IWebContent の実装 }
function ImplContent(オプション: TWebContentOptions;
ParentLayout: TLayout): 文字列;オーバーライド;
終わり;
TShowXMLButton = クラス(TCustomShowXMLButton)
公共
コンストラクター Create(AOwner: TComponent);オーバーライド;
出版された
プロパティカスタム。
プロパティ スタイル;
プロパティ StyleRule;
プロパティのキャプション;
プロパティ XMLBroker;
プロパティ XMLUseParent;
終わり;
TShowDeltaButton = クラス(TCustomShowXMLButton)
公共
コンストラクター Create(AOwner: TComponent);オーバーライド;
出版された
プロパティカスタム。
プロパティ スタイル;
プロパティ StyleRule;
プロパティのキャプション;
プロパティ XMLBroker;
プロパティ XMLUseParent;
終わり;
実装
sysutils MidProd を使用します。
リソース文字列
sShowXML = 'XML を表示';
sShowDelta = 'デルタを表示';
プロシージャ TCustomShowXMLButton.AddElements(
AddIntf: IAddScriptElements);
始める
AddIntf.AddIncludeFile('xmlshow.js');
終わり;
関数 TCustomShowXMLButton.GetSubComponents: TObject;
始める
結果 := nil;
終わり;
関数 TCustomShowXMLButton.ImplContent(オプション: TWebContentOptions;
ParentLayout: TLayout): 文字列;
変数
属性: 文字列;
Intf: ILayoutWebContent;
FormVarName: 文字列;
RowSetVarName: 文字列;
始める
AddQuotedAttrib(属性 'NAME' 名前);
AddQuotedAttrib(属性 'STYLE' スタイル);
AddQuotedAttrib(Attrs 'CLASS' StyleRule);
AddQuotedAttrib(Attrs 'VALUE' Self.Caption);
AddCustomAttrib(カスタム属性);
if Assigned(XMLData.XMLBroker) then
始める
FormVarName := XMLData.XMLBroker.SubmitFormVarName;
RowSetVarName := XMLData.XMLBroker.RowSetVarName(nil); // 行行セット変数名
終わり;
そうでない場合 (Options.Flags の coNoScript)、
結果:=
フォーマット(''#13#10
[属性 RowSetVarName XMLMethodName sXMLReadyVar])
それ以外
結果:=
フォーマット(''#13#10
[属性]);
Assigned(ParentLayout) および ParentLayout.GetInterface(ILayoutWebContent Intf) の場合
結果 := Intf.LayoutButton(Result GetLayoutAttributes);
終わり;
{ TShowXMLButton }
コンストラクター TShowXMLButton.Create(AOwner: TComponent);
始める
継承された。
デフォルトキャプション := sShowXML;
XMLメソッド名 := 'ルート';
終わり;
{ TShowDeltaButton }
コンストラクター TShowDeltaButton.Create(AOwner: TComponent);
始める
継承された。
デフォルトキャプション := sShowDelta;
XMLメソッド名 := 'getDelta()';
終わり;
次のように msxml.dll を使用する別の方法:
....
....
プロシージャ TDHEDForm.OpenBtnClick(送信者: TObject);
変数
pVIN : OleVariant;
プロンプト: OleVariant;
始める
pVIn := '';
プロンプト := True;
DHTMLEdit1.LoadDocument(pVIn プロンプト);
終わり;
プロシージャ TDHEDForm.SaveBtnClick(送信者: TObject);
変数
vo vb : OleVariant;
始める
vo := DHTMLEdit1.CurrentDocumentPath;
if (vo <> '') then
始める
vb := false;
終わり
それ以外
始める
ヴォ:= '';
vb := true;
終わり;
DHTMLEdit1.SaveDocument(vo vb);
終わり;
プロシージャ TDHEDForm.SaveAsClick(Sender: TObject);
変数
vo vb : OleVariant;
始める
ヴォ:= '';
vb := true;
DHTMLEdit1.SaveDocument(vo vb);
終わり;
...
//本文は转贴,作者不详,仅提供大家参考