XmlIntfForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit XmlIntfForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     btnTitle: TButton;
  9.     XMLDocument1: TXMLDocument;
  10.     Memo1: TMemo;
  11.     btnMemo: TButton;
  12.     btnLoad: TButton;
  13.     btnAttr: TButton;
  14.     btnAllTitles: TButton;
  15.     procedure btnTitleClick(Sender: TObject);
  16.     procedure btnMemoClick(Sender: TObject);
  17.     procedure btnLoadClick(Sender: TObject);
  18.     procedure btnAttrClick(Sender: TObject);
  19.     procedure btnAllTitlesClick(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25. var
  26.   Form1: TForm1;
  27. implementation
  28. {$R *.dfm}
  29. uses
  30.   XmlIntfDefinition;
  31. procedure TForm1.btnTitleClick(Sender: TObject);
  32. var
  33.   Books: IXMLBooksType;
  34. begin
  35.   Books := Getbooks (XmlDocument1); // as IXMLBooksType;
  36.   // ShowMessage (Books.Book.Items[1].Title);
  37.   ShowMessage (Books.Book[1].Title);
  38. end;
  39. procedure TForm1.btnMemoClick(Sender: TObject);
  40. begin
  41.   Memo1.Lines.Text :=
  42.     FormatXMLData(XmlDocument1.XML.Text);
  43. end;
  44. procedure TForm1.btnLoadClick(Sender: TObject);
  45. begin
  46.   XmlDocument1.LoadFromFile (
  47.     ExtractFilePath (Application.ExeName) + 'sample.xml');
  48. end;
  49. procedure TForm1.btnAttrClick(Sender: TObject);
  50. var
  51.   Books: IXMLBooksType;
  52. begin
  53.   Books := Getbooks (XmlDocument1);
  54.   ShowMessage (Books.Text);
  55. end;
  56. procedure TForm1.btnAllTitlesClick(Sender: TObject);
  57. var
  58.   msg: string;
  59.   I: Integer;
  60.   Books: IXMLBooksType;
  61. begin
  62.   Books := Getbooks (XmlDocument1);
  63.   msg := '';
  64.   for I := 0 to Books.Book.Count - 1 do
  65.     msg := msg + Books.Book.Items [I].Title + ' - ';
  66.   for I := 0 to Books.Ebook.Count - 1 do
  67.     msg := msg + Books.Ebook.Items [I].Title + ' - ';
  68.   ShowMessage (msg);  
  69. end;
  70. end.