![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить наличие поддерева в 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;