我需要解析HTML片段,我的意思是文件缺少< html>,< head>和< body>元素,否则具有格式良好的XHTML语法,保证UTF8编码。看起来libxml非常适合这项任务,但是我有一些我不知道如何实现的约束。
哦,我承认我不愿意使用libxml的DOM看起来像个怪癖。我非常受限于RAM,因此我迫切需要对DOM进行全面控制才能在低内存条件下丢弃某些节点并在必要时重新读取它们。
提前致谢。
答案 0 :(得分:6)
好的,既然没有人回答这个问题,我会尝试自己做。
我编写了所有的start / end元素处理程序,看起来libxml不再创建DOM了。至少,返回的文档指针为NULL。它仍然坚持HTML和身体元素,但我可以忍受。
一个主要问题是libxml保留所有空白节点,无论如何。所以我必须解析文本内容以消除可忽略的空白。这很难看,但它确实有效。我是否应该提到解析UTF-8是一种你很少想念的乐趣?
老实说,libxml文档非常糟糕。我建议任何尝试阅读文档的人:改为阅读源代码。代码更具可读性和文档记录。
感谢您的关注。