2011-03-09 92 views
0

我有一個使用SAXParser(javax.xml.parsers.SAXParserFactory)來解析XML的服務器組件。我正在重新使用android的phonegap應用程序中的這個庫。問題是,當我使用庫來與服務器通信並解析服務器的響應時,它會失敗 - 格式錯誤的XML - 異常。但是,如果我使用普通Java程序中的同一個庫,則解析器可以很好地處理來自服務器的響應,並且沒有錯誤。 我比較了android和普通javacase中的XML有效載荷,它們完全相同。我知道這是一個非常模糊和奇怪的問題,幾乎沒有什麼可以繼續,但我沒有想法。任何想法或提示都會有所幫助。Android SAXParser格式錯誤的XMl錯誤

回答

2

該XML中是否存在DTD或名稱空間?這可能是因爲Android應用程序存在問題而無法解析。 (是否有確切的錯誤信息?)

您可以檢查哪些分析器之間的差異,通過檢查

可能有差異。如果有,請使用SAXParserFactory#setNamespaceAware()SAXParserFactory#setValidating()來設置相同的值。

+0

解析器不在android級別。通過phonegap的Android應用程序JavaScript只是簡單地調用我的Java庫來連接服務器並處理響應。 Android不處理任何XML。我檢查了我的java庫並將isvalidating和isnamespaceaware都設置爲false,但是仍然出現了與Android相同的錯誤(從普通java正常工作) – Ved 2011-03-09 08:34:46

+0

您能否提供關於如何調用庫的代碼? – 2011-03-09 08:46:55

+0

薩克斯是一個有點過時的解析庫,你是否打開其他庫如vtd-xml? – 2011-03-17 15:43:11