如何使libxml2解析非严格的HTML?

时间:2014-12-02 21:34:10

标签: html libxml2 vala

我在Vala应用程序中使用LibXML来解析HTML代码。但是,如果您通过验证器传递它,我使用的HTML无效(尽管浏览器正常显示它)。在此HTML中,某些标签未关闭,例如他们使用<img>代替<img /><meta>代替<meta/>。我无能为力,例如请他们写有效的HTML。但是我需要解析它并且libxml2无法执行此操作(简而言之,doc->get_root_element()始终返回null)。

我能做些什么来使libxml2解析无效的HTML吗?

1 个答案:

答案 0 :(得分:1)

HTML不是XML。人们试图将它变成XML(它被称为XHTML),而我们大多只是了解到人们不能信任编写有效的XML。当你说它无效时,我认为你的意思是它无效 XML ,但事实上它是有效的HTML。

libxml包含一个HTML解析器,您需要使用它。在Vala中,所有内容都在Html命名空间中。