MSXML

Материал из Фабиус wiki
Перейти к: навигация, поиск

MSXML - это библиотека Microsoft msxml6.dll

При добавлении в проект delphi этой библиотеки

Component - Import Component... - Import a Type Library

у нас появляется файл MSXML2_TLB.pas в котором описан класс CoDOMDocument60

Предположим, у нас есть XML файл

<?xml version="1.0" encoding="utf-8"?>
<config>
  <size>
    <height>500px</height>
    <width>100px</width>
  </size>
</config>

который имеет странное имя PurchaseOrder.xml

Для чтения этого файла будем использовать следующую программу ( delphi 10 seattle )

unit Unit1;
interface
uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, MSXML2_TLB, Vcl.StdCtrls;
type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
 XMLDoc : DOMDocument60;
 Root : IXMLDOMElement;
begin
 XMLDoc := CoDOMDocument60.Create;
 XMLDoc.load( 'PurchaseOrder.xml' );
 Root := XMLDoc.documentElement;
 ShowMessage( Root.selectSingleNode( 'size/width' ).text);
 Root := nil;
 XMLDoc := nil;
end;
end.