簡體   English   中英

從JSP頁面將XML寫入文件。 維護XML的編碼(非英語)

[英]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.

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