我在Vala应用程序中使用LibXML来解析HTML代码。但是,如果您通过验证器传递它,我使用的HTML无效(尽管浏览器正常显示它)。在此HTML中,某些标签未关闭,例如他们使用<img>
代替<img />
和<meta>
代替<meta/>
。我无能为力,例如请他们写有效的HTML。但是我需要解析它并且libxml2无法执行此操作(简而言之,doc->get_root_element()
始终返回null)。
我能做些什么来使libxml2解析无效的HTML吗?
答案 0 :(得分:1)
HTML不是XML。人们试图将它变成XML(它被称为XHTML),而我们大多只是了解到人们不能信任编写有效的XML。当你说它无效时,我认为你的意思是它无效 XML ,但事实上它是有效的HTML。
libxml包含一个HTML解析器,您需要使用它。在Vala中,所有内容都在Html命名空间中。