J'ai écrit une fonction C++ wrapper pour libxml2 qui le rend facile pour moi de faire des requêtes sur un document XML:Quel est le moyen le plus efficace de faire des requêtes XPath récursives en utilisant libxml2?
bool XPathQuery(
const std::string& doc,
const std::string& query,
XPathResults& results);
Mais j'ai un problème: je dois pouvoir faire une autre requête XPath sur les résultats de ma première requête.
Actuellement je le fais en stockant le sous-document entier dans mon objet XPathResult, puis je passe XPathResult.subdoc dans la fonction XPathQuery. C'est terriblement inefficace. Donc, je me demande ... est-ce que libxml2 fournit quelque chose qui faciliterait le stockage du contexte d'une requête xpath (une référence à un noeud, peut-être?), Puis exécute une autre requête en utilisant cette référence comme xpath racine?
Ce programme se bloque de test pour moi quand il essaie de debugprint l'objet xmlxpath: xmlXPathDebugDumpObject (stdout, res, 0); Je vais voir si je ne peux pas comprendre ce qui se passe ... –
On dirait que cela a quelque chose à voir avec la façon dont je construis ou reliant libxml2.dll. Bizarre. Quoi qu'il en soit, a travaillé autour d'elle. –
C'est ce que je cherchais. Merci. =) –