通过 libxml 确定 Xpath 内容

Determine Xpath content via libxml

本文关键字:内容 Xpath 确定 libxml 通过      更新时间:2023-10-16

我找到了下面的XML示例,但不确定如何在C++中获取xpath数据(除了使用boost ptree xmlparser)。

/* Evaluate xpath expression */
xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx);
if(xpathObj == NULL) {
    fprintf(stderr,"Error: unable to evaluate xpath expression "%s"n", xpathExpr);
    xmlXPathFreeContext(xpathCtx); 
    xmlFreeDoc(doc); 
    return;
}
//cout <<"REsult : "<<xpathObj->stringval<<endl; /* Fails with bus error */

xpathObj 中究竟包含什么取决于 xpath 表达式匹配的内容。 如果你只想从中获取文本,你可以迭代xpathObj->nodesetval中的节点,调用xmlNodeListGetString,如示例中所示。

http://www.xmlsoft.org/tutorial/ar01s05.html