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.
При нажатии на кнопку Button1 программа нам выдаст результат
100px