[英]Writing XML to file from JSP page. Maintaining encoding for XML (non-english language)
我有一個JSP頁面,它將首先每天運行:
使用以下方法從數據庫字段檢索XML:
DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
ResultSet rs.getString(todayXML);
包含XML。
然后,我想將其寫入具有以下代碼的XML文件:
currentXML = rs.getString("todayXML");
String docID = rs.getString("docID");
//File creation
String file = application.getRealPath("/") + "/xmls/"+docID + ".xml";
out.println("<p>Found document: " + docID + "</p>");
PrintWriter printout = new PrintWriter(file);
printout.print(currentXML);
printout.close();
所有這些都在通過ResultSet的while循環中運行。
除XML損壞外,所有其他方法均正常運行:“從文本內容中發現無效字符”是我從IE中讀取的錯誤。 我知道這是因為XML包含外來字符。
我認為這與將XML存儲在一個字符串(currentXML)中有關,該字符串在不保留字符的情況下對其進行編碼。
一般來說,我對Java和JSP還是比較陌生,所以一種快速的方法將是理想的選擇。 是轉義XML還是以某種類型存儲XML。
任何想法,將不勝感激。
謝謝。
對於未來的程序員:
它相當漫長,但是在通過PrintWriter寫入文件時,我設法使用了UTF8編碼。
碼:
PrintWriter printout = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF8")));
printout.print(currentXML);
printout.close();
編輯:
一定要瞎了; 您可以使用印刷機的UTF8對其進行編碼。
PrintWriter printout = new PrintWriter(file, "UTF8");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.