簡體   English   中英

解析格式錯誤的XML

[英]Parse malformed XML

我正在嘗試將一個(可能)格式錯誤的HTML加載到XMLDocument對象中,但它失敗了XMLExceptions ...因為有額外的打開/關閉標記,以及格式錯誤的XML標記,例如<img >而不是<img />

如何讓XML解析數據中的所有錯誤? 在解析之前是否可以應用任何XML驗證器來糾正這些錯誤? 或者處理異常解析什么可以解析?

HTML Agility Pack將解析html而不是xhtml,並且非常寬容。 如果您使用過XmlDocument那么對象模型就會很熟悉。

您可能想查看此問題的答案。

基本上介於beautifulsoup的.NET端口和HTML敏捷包之間有一種方法。

您不太可能構建具有此級別格式錯誤的XmlDocument。 XmlDocument(據我所知)要求xml內容遵循正確的嵌套和閉包語法。

但是,您懷疑可以使用XmlReader解析它。 如果遇到某些令人震驚的錯誤,它仍然會拋出異常,但根據MSDN文檔,它至少可以披露錯誤的位置。

如果您只是處理HTML,那么可以使用HTML Agility Pack ,它可以滿足您的需求。

根據具體需要,您可以使用HTML Tidy清理文檔,然后使用XMLDocument對象導入它。

你要做的事情非常困難。 HTML無法使用XML解析器進行解析,因為XML是嚴格的而HTML則不是。 如果該HTML符合XHTML(HTML as XML),則XML解析器將解析HTML而不會出現問題。

如果你真的想使用HTML解析器來制作HTML,你可能想知道是否有任何HTML到XHTML轉換器。

換句話說,我還沒有遇到處理格式錯誤的XML的XML解析器...它們不是為了接受像HTML這樣的松散標記(有充分的理由,也:)

您無法將格式錯誤的XML加載到XmlDocument

查看CodePlex上的Html Agility Pack

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM