Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

использование XML   Найти похожие ветки 

 
likeanangel   (2003-08-21 15:18) [0]

Добрый всем день! Подскажите, please, как работать с XML через msxml.dll (COM-объект)? Как создавать XML, как получать/сохранять какие-то его свойства(атрибуты) ?
Интересует, естественно, работа посредством API, без использования каких-либо компонент Delphi

с уважением, Макс


 
Polevi ©   (2003-08-21 15:46) [1]

procedure TMDReportFrm.LoadTemplates(xml:string);
var
msxml,templates,template:OleVariant;
i:integer;
begin
msxml:=CreateOleObject("Msxml2.DOMDocument");
msxml.async:=false;
msxml.loadXML(xml);

templates:=msxml.documentElement.selectNodes("//TEMPLATE");
for i:=0 to templates.length-1 do
begin
template:=templates.item(i);
cbReportType.Items.AddObject(template.getAttribute("NAME"),Pointer(Int eger(template.getAttribute("ID"))));
end;
end;


 
Ihor Osov'yak ©   (2003-08-22 01:32) [2]

имхо, лучше не связываться с OleVariant, а использовать натив интерфейсы.
Например:

var iXMLDoc: IXMLDOMDocument;
...

iXMLDoc := CoDOMDocument.Create;
iXMLDoc.Set_async(false);
iXMLDoc.load(aFileName);

и обрати внимание на IXMLDOMNode помимо IXMLDOMDocument, там много чего интересного есть.. И названия методов говорят сами за себя.. А это, юзая OleVariant - не увидишь..


 
Polevi ©   (2003-08-22 11:33) [3]

>Ihor Osov"yak © (22.08.03 01:32) [2]
позднее связывание тоже имеет свои преимущества


 
Ihor Osov'yak ©   (2003-08-22 12:10) [4]

2 Polevi © (22.08.03 11:33) [3]

в контексте работы с XML что-то трудно представить когда это дает преимущества.. Примерчик, плиз.. Может соображаловка у меня тормозит, иогда бывает..

К тому же часть ошибок, которые возможны при позднем связывании (неверные имена методов, етс), при раннем отсеиваются еще на этапе компиляции. Что очень немаловажно...
И для раннего связывания - поставил точку - и видишь имена подходящих методов, не нужно помнить с точностью до буквы имена прорвы методов для прорвы интерфейсов. Мелочь, но приятно..


 
Polevi ©   (2003-08-22 12:19) [5]

xml тут не причем, есть проблемы с разными версиями type library
а насчет точности до буквы - действительно мелочь, все равно без хелпа не обойтись


 
Ihor Osov'yak ©   (2003-08-22 15:15) [6]

Это уже из части больше "философского" спора - но во первых type library как бы совместимым должно быть, снизу до верху во всяком случае.. Во вторых, если какой-то оригинал на соглашения COM забил и методы интерфейсов попереименовывал, или параметры изменил - то здесь и позднее связывание не спасет..



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
1-89261
AlexanderSK
2003-10-14 17:29
2003.10.27
Как сохранить строку в TFileStrem


1-89326
GreySerg
2003-10-16 15:20
2003.10.27
Как сделать , чтобы прога была только в tray при её загрузке ?


6-89420
Delphin
2003-09-01 18:31
2003.10.27
Как через Proxy соедениться с почтовым сервером (Рор3) ?


3-89122
rosl
2003-10-08 03:43
2003.10.27
перенос данных


11-89197
Immortal_
2003-02-09 01:12
2003.10.27
К вопрсу о скорости