2010-08-22 129 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