2012-09-27 55 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)的文本。

相關問題