2014-12-02 34 views
1

我在我的Vala應用程序中使用LibXML來解析HTML代碼。但是,如果通過驗證器傳遞它,則使用的HTML無效(儘管瀏覽器通常顯示它)。在這個HTML中,一些標籤沒有關閉,例如他們使用<img>而不是<img /><meta>而不是<meta/>。我對此無能爲力,例如要求他們寫出有效的HTML。但我需要解析它,而libxml2不能做到這一點(簡而言之,doc->get_root_element()總是返回null)。如何讓libxml2解析非嚴格的HTML?

我可以做些什麼來使libxml2解析無效的HTML嗎?

回答

1

HTML不是XML。人們試圖使其成爲XML(它被稱爲XHTML),而我們大多數人都知道人們不可信任寫有效的XML。當你說它是無效的,我認爲你的意思是無效的XML,但實際上,它是有效的HTML。

libxml包含一個HTML解析器,您需要使用它。在Vala中,一切都在Html命名空間中。

+0

瞭解了,謝謝你的回答! – serge1peshcoff 2014-12-02 21:57:11