2012-05-18 85 views
0

我收到一個XML從HTTP服務器作爲字符串:Android的字符串包含兩個值

HttpResponse httpResponse = httpClient.execute (httpPost); 
return EntityUtils.toString (httpResponse.getEntity()); 

此字符串某種程度上似乎有兩個值,因爲當我嘗試登錄它的長度我在logcat中得到兩行:

Log.d ("XML", xml.length() + ""); 

17:30:22.313 19712 DEBUG XML 161 
17:30:22.313 19712 DEBUG XML 0 

,當我嘗試解析這個XML與DOM解析器,我得到org.xml.sax.SAXParseException:文件意外結束。

我看過類似的東西here。我知道,當我用一行代碼獲得兩條Logcat行時,不是我做錯了什麼。可能是什麼問題呢?

+1

我不認爲這會按原樣編譯。第一個右括號是否應該在那裏? – derekerdmann

+0

也許你因爲某種原因收到兩個回覆,其中一個是空的? – Ash

+0

我嘗試記錄單個字符串對象,無論收到多少個響應都無關緊要。 – Martynas

回答

0

以與解析XML相同的方法請求XML,而不是通過方法參數傳遞XML String解決了問題。我使用完全相同的代碼,只是把它移到另一個方法。這似乎是一些奇怪的Android或NetBeans錯誤。

0

不應該是xml.length而不是xml).length

這就解釋了logcat的,但不能解析失敗...

+0

抱歉有關混淆 - 我試圖記錄新的字符串(xml).lenght()並沒有正確地編輯回來。我將編輯該問題。 – Martynas

0

2左括號,3閉幕,作爲另一條評論說,這是不會編譯。可能是你錯誤地引用了代碼。第二個長度爲0,可能來自「」。由於logcat顯示兩個日誌,你可能有一個Log.d行少一個,並且這兩行一起產生奇怪的結果。

相關問題