XPath (xmldoc)
function XPath(const iExpression:string):TxmlPath;
Cette fonction exécute une expression XPath et retourne un résultat pouvant être un ensemble de noeud, une valeur numérique, une valeur chaîne ou une valeur logique.
| Result | Un objet TxmlPath contenant le résultat. |
| iExpression | Expression XPath a exécuter. |
Exemple:
Utilisation du résultat comme un ensemble d'éléments.
procedure foo(doc:TxmlDocument);
var xpt:TxmlPath; idx:Integer; elt:TxmlItem;
begin
doc := TxmlDocument.Create(nil);
doc.loadFromFile('c:\test.xml');
//
xpt := doc.xPath('//C');
for idx:=0 to xpt.Count-1 do
showMessage(xpt.Items[idx].GetAttribute('Id',''));
end;
Utilisation du résultat comme un itérateur d'élément.
procedure foo(doc:TxmlDocument);
var elt:TxmlItem; idx:Integer; elt:TxmlItem;
begin
doc := TxmlDocument.Create(nil);
doc.loadFromFile('c:\test.xml');
//
foreach elt in doc.XPath('//C') do
showMessage(xpt.Items[idx].GetAttribute('Id',''));
end;
Utilisation des noeuds du résultat.
procedure foo(doc:TxmlDocument);
var xpt:TxmlPath; idx:Integer; elt:TxmlItem;
begin
doc := TxmlDocument.Create(nil);
doc.loadFromFile('c:\test.xml');
//
xpt := doc.xPath('//C');
for idx:=0 to xpt.Count-1 do
showMessage(xpt.Nodes[idx].QName);
end;
Ces exemples retournent tous les éléments "C" du document
<A> <B> <C id="11"/> <C id="12"/> <C id="13"/> </B> <B> <C id="21"/> <C id="22"/> <C id="23"/> </B> </A>
Les six éléments C sont retournés.
Voir aussi: