TXMLDocumentを使う

Delphi 6 Enterprise / Delphi 7 Professional以上
Delphi 6 Entに付属する TXMLDocument の使用例です。このコンポーネントはDOM の VCL 版で [Internet] タブにあります (非ビジュアルコンポーネントです)。ただし、中身は MSXML (または IBM のパーサー) で、100% VCL ではありません (多分)。

設定は以上です。
以下のコードは XML ファイルを読んでその構造を TreeView に表示します。

■ XMLDocumentの使用例
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, ComCtrls, ImgList, xmldom, XMLIntf, msxmldom, XMLDoc;

type
  TForm1 = class(TForm)
    Button1: TButton;
    TreeView1: TTreeView;
    XMLDocument1: TXMLDocument;
    ImageList1: TImageList;
    procedure Button1Click(Sender: TObject);
  private
    { Private 宣言 }
    procedure Build(TreeNode: TTreeNode; XMLNode: IXMLNode);
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  XMLDocument1.Active :=  True;
  Build(nil, XMLDocument1.DocumentElement);
end;

procedure TForm1.Build(TreeNode: TTreeNode; XMLNode: IXMLNode);
var
  Node: TTreeNode;
  i: integer;
begin
  if  (XMLNode.NodeType = ntText) then  begin
    Node  :=  TreeView1.Items.AddChild(TreeNode, XMLNode.NodeValue);
    Node.ImageIndex     :=  0;
    Node.SelectedIndex  :=  0;
  end else begin
    Node  :=  TreeView1.Items.AddChild(TreeNode, XMLNode.NodeName);
    Node.ImageIndex     :=  1;
    Node.SelectedIndex  :=  1;
  end;
  for i :=  0 to  XMLNode.ChildNodes.Count - 1  do  begin
    Build(Node, XMLNode.ChildNodes.Nodes[i]);
  end;
end;

end.

Delphi Professional または Delphi Personal でも MSXML を直接使えば同じようなことができます。