我解析并将指针xmlNodePtr
提升到类别标记,但我想在数组中获取节点(名称)的值,如TrailersFreeMovies , Trailers
。
<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 :(得分:0)
XPath api的一部分返回一个节点数组。请参阅XPath examples。
获得xmlXPathEvalExpression xpathObj
的结果后,数组位于xpathObj->nodesetval->nodeTab
。 nodesetval
是指向xmlNodeSet type的指针。
xmlGetNodePath
返回与//name
xpath表达式匹配的示例xml节点的以下值:
/categories/category[1]/name
/categories/category[2]/name
因此,对您的问题的具体答案是:应用xpath表达式("%s/name", xmlGetNodePath(categoryNode))
并处理返回的节点数组。对于每个条目,使用xmlNodeListGetString(doc, node->xmlChildrenNode, 1)
获取文本。