Xml interface
The following is a listing of the Xml interfaces.
{ IFiler } type IFiler = interface ['{3DC4CC5C-AFFC-449F-9983-11FE39194CF5}'] function GetDocument: IDocument; procedure Encrypt(const Key, Value: string); function Decrypt(const Key: string): string; function ReadStr(const Key: string; const DefValue: string = ''; Stored: Boolean = False): string; procedure WriteStr(const Key, Value: string); function ReadBool(const Key: string; const DefValue: Boolean = False; Stored: Boolean = False): Boolean; procedure WriteBool(const Key: string; Value: Boolean); function ReadInt(const Key: string; const DefValue: Integer = 0; Stored: Boolean = False): Integer; procedure WriteInt(const Key: string; Value: Integer); function ReadFloat(const Key: string; const DefValue: Single = 0; Stored: Boolean = False): Single; procedure WriteFloat(const Key: string; Value: Single); function ReadDate(const Key: string; const DefValue: TDateTime = 0; Stored: Boolean = False): TDateTime; procedure WriteDate(const Key: string; Value: TDateTime); property Document: IDocument read GetDocument; end; { INode } INode = interface ['{BC90FD97-E83D-41BB-B4D8-3E25AA5EB2C6}'] function GetDocument: IDocument; function GetParent: INode; function GetFiler: IFiler; function GetAttributes: INodeList; function GetNodes: INodeList; function GetKind: TNodeKind; function GetName: string; function GetText: string; procedure SetText(const Value: string); function GetXml: string; procedure SetXml(const Value: string); function Instance: Pointer; function Next: INode; function SelectNode(const XPath: string): INode; function SelectList(const XPath: string): INodeList; function Force(const Path: string): INode; property Document: IDocument read GetDocument; property Parent: INode read GetParent; property Filer: IFiler read GetFiler; property Attributes: INodeList read GetAttributes; property Nodes: INodeList read GetNodes; property Kind: TNodeKind read GetKind; property Name: string read GetName; property Text: string read GetText write SetText; property Xml: string read GetXml write SetXml; end; { INodeList } INodeList = interface(IEnumerable<INode>) ['{D36A2B84-D31D-4134-B878-35E8D33FD067}'] function GetCount: Integer; function GetByName(const Name: string): INode; overload; function GetByIndex(Index: Integer): INode; overload; procedure Clear; procedure Add(Node: INode); overload; function Add(const Name: string): INode; overload; procedure Remove(Node: INode); overload; procedure Remove(const Name: string); overload; property Count: Integer read GetCount; property ByName[const Name: string]: INode read GetByName; property ByIndex[Index: Integer]: INode read GetByIndex; default; end; { IDocument } IDocument = interface(INode) ['{B713CB91-C809-440A-83D1-C42BDF806C4A}'] procedure SetRoot(Value: INode); function GetRoot: INode; procedure Beautify; function CreateAttribute(const Name: string): INode; function CreateElement(const Name: string): INode; procedure Load(const FileName: string); procedure Save(const FileName: string); property Root: INode read GetRoot write SetRoot; end;