通过libxml确定Xpath内容

时间:2015-04-26 06:45:09

标签: c++ xpath libxml2

我在以下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 */

1 个答案:

答案 0 :(得分:1)

xpathObj中包含的内容取决于xpath表达式匹配的内容。如果您只想从中获取文本,可以在xpathObj-&gt; nodesetval中迭代节点,调用xmlNodeListGetString,如示例所示。

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