gpt4 book ai didi

java - 解析异常 : At line 1, 第 0 列:未找到元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:25 24 4
gpt4 key购买 nike

我有一个奇怪的问题。我收到以下导致强制关闭的错误:

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:508) at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:467) at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:329) at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:286)

点击 Force Close 按钮​​后,Activity 被重新创建并且解析顺利完成。我在 AsyncTask 的 doInBackground 中使用以下代码 fragment :

URL serverAddress = new URL(url[0]);

HttpURLConnection connection = (HttpURLConnection) serverAddress.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setReadTimeout(10000);
connection.connect();

InputStream stream = connection.getInputStream();

SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();

XMLReader xr = sp.getXMLReader();

xr.parse(new InputSource(stream)); // The line that throws the exception

为什么 Activity 会强制关闭然后立即运行而不会出现任何问题? BufferedInputStream 会有什么不同吗?我很困惑。 :(

感谢大家抽空。

更新:事实证明 HttpURLConnection.getResponseCode() 经常返回 -1,因此可能没有正确设置 InputStream。

最佳答案

HTTPURLConnection connection = (HttpURLConnection) serverAddress.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);

那些线条有点奇怪。是 HTTPURLConnection 还是 HttpURLConnection?默认请求方法已经是 GET。然而,setDoOutput(true) 将强制它POST

我会将所有这些行替换为

URLConnection connection = serverAddress.openConnection();

然后重试。它可能会返回一个错误,因为您强制 POST 并且没有向输出(请求正文)写入任何内容。 connection.connect() 已被 connection.getInputStream() 隐式调用,因此该行也是多余的。

更新:以下用于测试目的是否有效?

BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
reader.close();

关于java - 解析异常 : At line 1, 第 0 列:未找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2716063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com