[英]Java XML API converts " to "
我正在開發一個Java程序,該程序可以讀取HTML代碼,解析HTML,獲取內容(人類可讀的文本)並將其存儲在XML文件中。 有時,HTML代碼包含'
, "
(以及其他字符),但有時它們也分別寫為'
和"
。
我按照適當的步驟構建XML。 我使用Document
和Element
類,並使用Transformer
, DomSource
和StreamResult
類制作XML文件。
問題是保存文件時,我看到&
符號被替換為&
。 我知道那是對的。 但它會將'
以&&apos
也!
我還嘗試過將Document
對象轉換為String
對象,然后將該字符串傳遞給StringEscapeUtils.unescapeXml(String s)
方法,以使XML實體保持完整。 但是,它不會將&
實體轉換為&
,導致無效的XML文件。
(我已將OutputKeys.ENCODING
設置為“ UTF-8”,並將OutputKeys.METHOD
為“ xml”。)
問題在於您的HTML解析,而不是XML輸出。 在HTML中 是單引號,因此當存在“ 在HTML中,解析器應將其作為單引號提供給您。
您正在使用什么解析器? 諸如Jsoup之類的流行解析器不會出錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.