我正在開發一個Java程序,它讀取HTML代碼,解析HTML,獲取內容(人類可讀文本)並將其存儲在XML文件中。有時,HTML代碼包含'
,"
個字符(等等),但有時它們也分別被編寫爲'
和"
。Java XML API將"轉換爲&「
我按照適當的程序構建XML。我使用Document
和Element
類,並且使用Transformer
,DomSource
和StreamResult
類來創建XML文件。
問題是當保存文件時,我看到&
符號被替換爲&
。我知道這是正確的。但它也會將'
轉換爲&&apos
!
我也嘗試將Document
對象轉換爲String
對象,然後將該字符串傳遞給StringEscapeUtils.unescapeXml(String s)
方法,以使XML實體保持不變。但是,它不會將&
實體轉換爲&
,從而導致無效的XML文件。
(我已經設置了OutputKeys.ENCODING
爲 「UTF-8」 和OutputKeys.METHOD
爲 「XML」。)
我懷疑你正在寫一個字符串,其中包含六個字符'&p o s;'到DOM文檔中的文本節點,以便文本節點被序列化爲&a m p;一個朋友;'。文本節點應該包含未轉義的文本(即單個字符'''),串行器將決定是否轉義。 –