我正在使用 libxml2 解析 HTML,使用 XPath 查找元素。找到要查找的元素后,如何从该元素获取 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>
我该怎么做?
最佳答案
这就是 xmlNodeDump
的目的:
编辑:
当你有一个 xmlNodePtr
node
时,执行如下操作:
xmlBufferPtr nodeBuffer = xmlBufferCreate();
xmlNodeDump(nodeBuffer, doc, node, 0, 1);
// ... Do something with nodeBuffer->content
// When done:
xmlBufferFree(nodeBuffer);
第四和第五个参数控制缩进和格式。
关于html - libxml2 HTML解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543443/