Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить наличие поддерева в XML


Priest ©   (2007-04-11 15:58:00) 

Есть выражение XPath. Хочу проверить существуют ли узлы для данного выражения. Делаю так

function ExecuteXPath(XMLRoot: IDOMNode; XPath: string): IDOMNodeEx;
var
 DOMNodeSelect: IDOMNodeSelect;
begin
 Result := nil;
 XMLRoot.ownerDocument.QueryInterface(IDOMNodeSelect, DOMNodeSelect);
 if DOMNodeSelect <> nil then
   begin
     try
       Result := GetDOMNodeEx(DOMNodeSelect.selectNode(XPath));
     except
       Result := nil;
     end;
   end;
end;

Выдаёт ошибку о том, что выбранный Vendor не поддерживает данное свойство. Если же в XML есть поддерево, удовлетворяющее выражениею XPath, то ошибок не возникает. Как быть?


Priest   (2007-04-11 16:10:00) [1]

Спасибо


Reindeer Moss Eater   (2007-04-11 16:03:00) [2]

uses MSXML2_TLB;

function TestXPath(ADoc : IXMLDOMDocument2; AXPath : string) : boolean;
var  aNode : IXMLDomNode;
begin
aNode := aDoc.SelectSingleNode(AXPath);
Result := aNode <> nil;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо