2014-11-03 27 views
0

我應該用哪一個來解析xml文件。什麼是解析http-xml文件的推薦方法。我的方法是將xml讀作String,並使用DocumentBuilder解析String。 這是正確的做法。Http charset vs xml編碼(utf-8,utf-16等)

 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     Document doc = null; 
     InputSource is = null; 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     is = new InputSource(new StringReader(xmlString)); 
     doc = dBuilder.parse(is); 
+0

我會說一個覆蓋另一個。如果http響應指定了給定的編碼,那麼您最初將其設置爲解析/流。如果xml有一個<? xml ... encoding =「...」>序言我希望解析器改變編碼方式。 – Oncaphillis 2014-11-03 13:56:16

回答

0

XML指定其自己的編碼<!xml encoding="...">默認爲UTF-8。 使用字符串使用StringReader,已經假定讀取已經以猜測編碼完成。 這似乎不太可取,比使用純二進制格式,如File或InputStream。

另一個因素是文檔庫,找到包含的文檔xsd,dtd。使用XML目錄可能會有所幫助,將這些文件存儲爲脫機狀態。

+0

但我應該使用哪種編碼。 http或xml一個? – user2428697 2014-11-03 15:19:36

+0

如果您的意思是XHTML,使用更嚴格的XML一致性語法的HTML,它仍然應該是XML編碼。 **兩者應該相同。**如果您可以在瀏覽器中手動調用URL,則可以檢查並更改編碼。 – 2014-11-04 12:56:07