簡體   English   中英

`-:55: HTML 解析器錯誤:htmlParseEntityRef:期待';'`:使用 xmllint 清理 HTML 文件?

[英]`-:55: HTML parser error : htmlParseEntityRef: expecting ';'`: clean up HTML file with xmllint?

http://journals.im.ac.cn/cjbcn/ch/reader/view_abstract.aspx?file_no=gc19010159&flag=1

我想從上面的 URL 中清理文件。 但是 xmllint 給出了以下錯誤。 有誰知道如何解決這個問題? 謝謝。

$ xmllint -html -xmlout file.html
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
ges/dh-img.jpg"><A href="../common_item.aspx?parent_id=20070610225413001&menu_id
                                                                               ^
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
on_item.aspx?parent_id=20070610225413001&menu_id=20070610225740001&is_three_menu
                                                                               ^
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
ges/dh-img.jpg"><A href="../common_item.aspx?parent_id=20070610225449001&menu_id
                                                                               ^
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
on_item.aspx?parent_id=20070610225449001&menu_id=20171222045531778&is_three_menu
                                                                               ^
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
ges/dh-img.jpg"><A href="../common_item.aspx?parent_id=20070610225428001&menu_id
                                                                               ^
-:55: HTML parser error : htmlParseEntityRef: expecting ';'
...

這似乎是帶有查詢參數的 URL 中使用的 & 字符的問題,xmllint 想要將其解釋為實體引用,然后抱怨因為 XML 中的實體引用必須由分號字符終止(不像在 SGML 中需要分號僅當后續字符是名稱字符時)。 You could try xmllint's "-noent" option, but I don't believe xmllint can be told to ignore entity references and suggest to use another tool to convert HTML into XML such as "sgmlproc" as described in my Parsing HTML tutorial . 那里詳細討論了與符號的處理,並涉及使用 HTML DTD,其中聲明了 href 和其他 URL 類型的屬性,因此不會識別實體引用。

很抱歉冗長的回答和自我推銷,但我知道您的問題沒有更好的解決方案。 我最初打算將其用作評論,但空間不足。

暫無
暫無

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

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