簡體   English   中英

Java XML API將“轉換為”

[英]Java XML API converts " to "

我正在開發一個Java程序,該程序可以讀取HTML代碼,解析HTML,獲取內容(人類可讀的文本)並將其存儲在XML文件中。 有時,HTML代碼包含'" (以及其他字符),但有時它們也分別寫為'"

我按照適當的步驟構建XML。 我使用DocumentElement類,並使用TransformerDomSourceStreamResult類制作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.

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