Это зависит от размера документа xml. Но у меня есть хороший опыт работы с MSXML и его саксонским аналогом.
Если размер xml велик (> 50 МБ) или запросы тяжелые (используйте // для запуска сканирования системы), ожидайте некоторой задержки. Но в остальном это вполне выполнимо.
В более поздних версиях msxml доступен как единое целое. В версии 7 вам необходимо установить библиотеку типов:
- Перейти к проекту \ библиотеке типов импорта
- Выберите Microsoft XML, (самая высокая версия, которую вы можете найти)
- Выберите Создать юнит для создания MSXML_TLB
Вы можете использовать MSXML_TLB для чтения XML-документов, использования xslt и выполнения запросов xpath:
var
doc : IXMLDomDocument2;
list : IXMLDomNodeList;
node : IXMLDomNode;
i : Integer;
begin
doc := CoDOMDocument.Create;
doc.load(xmlfilename);
list := doc.selectNodes(xpath);
for i := 0 to list.length-1 do begin
node := list.item[i];
if node<>nil then
Memo1.Lines.Add(node.nodeName);
end;
end;