http://www.jb51.cc/article/p-tvsilvui-vh.html
在libxml的tutorial中介绍了一种用关键字查找节点的方法,这种方法将使用打xpath系列API。由于我才刚刚接触libxml,所以我对xpath的认识也仅仅是在tutorial提供的功能之内了。废话少说,直接进入整体。
我们在操作xml文件是经常需要根据特定的条件查找一系列的节点,为了实现这样的功能,我们需要一个xmlXPathContextPtr和一个expression。我们调用xmlXPathEvalExpression函数来得到一个xmlXPathObjectPtr指针,这个指针包含了一个xmlNodeSetPtr,其中有一个变量nodeTab是我们所需要的节点数组。
- xmlXPathObjectPtrret=NULL;
- xmlXPathContextPtrcon=NULL;
- con=xmlXPathNewContext(doc);
- ret=xmlXPathEvalExpression((xmlChar*)expr,con);
- xmlXPathFreeContext(con);
这样我们就得到了查询的结果了。expr是查询的条件,tutorial给的例子里,这个条件是“//keyword”,表示找出所有名称为keyword的节点。至于其他的条件,我现在还不知道。
得到了查询的结果,我们就要对结果进行处理。
?