2010-08-22 164 views
6

我用libxml2解析HTML,使用XPath查找元素。一旦我找到了我正在尋找的元素,我如何才能從該元素獲取HTML作爲字符串(請記住,此元素將具有許多子元素)。給定一個文件:libxml2 HTML解析

<html> 
    <header> 
     <title>Some document</title> 
    </header 

    <body> 
     <p id="faq"> 
      Some kind of text <a href="http://www.nowhere.com/">here</a>. 
     </p> 
    </body> 
</html> 

說我取回使用XPath的body元素,然後得到的HTML,我想用含有字符串結束:

<body> 
    <p id="faq"> 
     Some kind of text <a href="http://www.nowhere.com/">here</a>. 
    </p> 
</body> 

我該怎麼辦這個?

回答

6

這是xmlNodeDump目的:

編輯:

當你有一個xmlNodePtrnode,做這樣的事情:

xmlBufferPtr nodeBuffer = xmlBufferCreate(); 
xmlNodeDump(nodeBuffer, doc, node, 0, 1); 
// ... Do something with nodeBuffer->content 
// When done: 
xmlBufferFree(nodeBuffer); 

的第四和第五參數控制縮進和格式。

+0

太好了,謝謝! – johndoe 2010-08-23 06:34:03