MSXML — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «MSXML - это библиотека Microsoft msxml6.dll При добавлении в проект delphi этой библиотеки Component - Import Co…») |
Hisava (обсуждение | вклад) м |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
При добавлении в проект delphi этой библиотеки | При добавлении в проект delphi этой библиотеки | ||
− | |||
Component - Import Component... - Import a Type Library | Component - Import Component... - Import a Type Library | ||
+ | [[Файл:16-05-2016 15-09-55.png]] | ||
+ | |||
у нас появляется файл MSXML2_TLB.pas в котором описан класс CoDOMDocument60 | у нас появляется файл MSXML2_TLB.pas в котором описан класс CoDOMDocument60 | ||
Строка 11: | Строка 12: | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<config> | <config> | ||
− | + | <size> | |
− | + | <height>500px</height> | |
− | + | <width>100px</width> | |
− | + | </size> | |
</config> | </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 | ||
+ | = Смотрите также = | ||
+ | [[Информация для разработчиков системы фабиус]] |
Текущая версия на 11:40, 4 августа 2017
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