0

我从 HTTP 服务器接收 XML 作为字符串:

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

当我尝试使用 DOM 解析器解析这个 XML 时,我得到 org.xml.sax.SAXParseException: Unexpected end of document。

我在这里读到了类似的东西。我知道当我用一行代码得到两条 Logcat 行时,不是我做错了什么。可能是什么问题呢?

4

3 回答 3

0

那不应该xml.length和不应该xml).length吗?

这可以解释 logcat,但不能解释解析失败......

于 2012-05-18T15:12:48.320 回答
0

2个左括号,3个右括号,正如另一条评论所说,它不会编译。可能你错误​​地引用了代码。第二个长度,0,可能来自“”。由于 logcat 显示了两个日志,因此您可能有一个 Log.d 行,其中少了一个 ),这两行一起产生了奇怪的结果。

于 2012-05-18T15:26:15.170 回答
0

以与解析 XML 相同的方法请求 XML,而不是通过方法参数传递 XML 字符串解决了该问题。我使用了完全相同的代码,只是将其移至另一种方法。这似乎是一些奇怪的 Android 或 NetBeans 错误。

于 2012-05-19T08:04:07.503 回答