我試圖從Google使用天氣api獲取天氣數據並通過JDOM解析文檔。JDOM使用變音符號解析XML
這是我使用的代碼:
SAXBuilder builder = new SAXBuilder();
Document doc;
URL url = new URL(GOOGLE_WEATHER_API);
doc = builder.build(url);
Element root = doc.getRootElement();
Element weather = root.getChild("weather");
List currentConditions = weather.getChildren("current_conditions");
...
問題是,每當由谷歌返回的XML包含變音字符(U,A,O數...),我得到一個JDOMParseException
org.jdom.input.JDOMParseException: Error on line 1 of document http://www.google.de/ig/api?weather=Heidelberg&hl=en :
Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
Incorrect encoded sequence detected at character (hex) 0x72, (bin) 1110010.
Check whether the input parsed contains correctly encoded characters.
Encoding used is: 'utf-8'(http://www.google.de/ig/api?weather=Heidelberg&hl=en, row:1, col:191):
Incorrect encoded sequence detected at character (hex) 0x72, (bin) 1110010.
Check whether the input parsed contains correctly encoded characters.
Encoding used is: 'utf-8' (http://www.google.de/ig/api?weather=Heidelberg&hl=en, row:1, col:191)
當我在瀏覽器中打開URL時,檢查編碼爲UTF-8的頁面屬性。所以我不知道爲什麼它不起作用。 有沒有人有想法?
最好的問候,保羅
奇怪,我想不出除了可能什麼嘗試像Xerces的不同的XML解析器。我不知道com.sap.engine.lib.xml.parser。 – 2011-12-27 13:12:06