1、TXMLDocument 適用於記憶體中操作和建立新的 xml2、一個 TXMLDocument 文檔其實就是一個節點集合3、每個節點包括名稱、常值內容、屬性集合、子節點集合4、可以按位置或名稱訪問節點5、每一個節點都是一個 IXMLNode 對象6、每一個節點下包含的節點集合是一個 IXMLNodeList 對象, 用節點的 ChildNodes 屬性擷取7、根節點 XMLDocument1.DocumentElement 也是一個 IXMLNode
先虛擬一個測試檔案: test.xml; 放在 c:\temp\ 下備用.張三姓名> 男性別> 34年齡> 人員> 李四姓名> 女性別> 43年齡> 人員> 王五姓名> 女性別> 25年齡> 人員> 孫六姓名> 男性別> 52年齡> 人員> 輔助人員>科室名單>unit Unit1;interfaceuses
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Memo1: TMemo; Button1:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; Button2:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Button1: TButton; procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Memo1: TMemo; procedure
TStream 是一個抽象的基類, 不能直接產生對象. 在具體的應用中, 主要使用它的子孫類:TFileStream: 檔案流TStringStream: 字串流TMemoryStream: 記憶體流TResourceStream: 資源檔流THandleStream: 是 TFileStream 的父類、TStream 的子類TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父類、TStream 的子類與流相關的常用類還有:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Memo2: TMemo; {需要添加兩個 Memo 用於顯示} Button1: TButton; procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Memo1: TMemo;
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; {添加 Memo 顯示內容} Button1: TButton; Button2: TButton; procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure
procedure TForm1.FormCreate(Sender: TObject);var Str: string; pStr: PString;begin Str := 'Delphi 2007'; pStr := @Str; {用 @ 擷取指標} ShowMessage(pStr^); {Delphi 2007} Str := 'Delphi 2008'; pStr := Addr(Str); {Addr 和 @ 的作用是一樣的, 都是擷取指標}
1、忽略空白2、注釋: 3、指令: ?>4、特殊字元: ' " & 替代: < > ' " &5、位元據:6、區分大小寫7、標記不能交疊8、單標記, 也就是空元素, 如: , 只用屬性記錄資料9、屬性值在引號內10、xml 中的元素與屬性的名字, 必須以字母或 _ 開頭, 後面可以是字母、數字或 _ - : . 的組合, 但不能使用 xml 開始.11、檔案頭包含版本與字元編碼, 如: 、
//函數AddChild(const TagName: DOMString): IXMLNode; overload;AddChild(const TagName, NamespaceURI: DOMString): IXMLNode; overload;CreateElement(const TagOrData, NamespaceURI: DOMString): IXMLNode;CreateNode(const NameOrData: DOMString; NodeType: