2012-09-27 56 views
0

我分析,并有指针xmlNodePtr高达类别标签,但我想在阵列中的节点(名称)的喜欢TrailersFreeMovies , Trailers值。libxml2 - 获取节点(xmlNodePtr)内容?

<categories><category><name>TrailersFreeMovies</name><url>https://www.ex1.com/srs/index.php?cid=47</url></category><category><name>Trailers</name><url>https://www.ex1.com/srs/index.php?cid=45</url></category></categories> 

引导我解析这个

+0

的libxml2可以迷惑新人。如果性能不是最基本的,我会诚实地推荐使用更简单的库。 –

+0

我建议看一下libxml2的例子,特别是'tree1.c',它显示了如何导航文档并获取内容。 http://xmlsoft.org/examples/index.html#tree1.c –

回答

0

XPath的API的一部分返回节点的数组。见XPath examples

一旦获得xmlXPathEvalExpression的结果为xpathObj那么该阵列在xpathObj->nodesetval->nodeTabnodesetval是指向xmlNodeSet type的指针。

xmlGetNodePath返回下列值示例XML匹配//name XPath表达式的节点:

/categories/category[1]/name 
/categories/category[2]/name 

所以具体回答你的问题是:申请XPath表达式("%s/name", xmlGetNodePath(categoryNode))和节点的过程返回数组。对于每个条目获得xmlNodeListGetString(doc, node->xmlChildrenNode, 1)的文本。

相关问题