gpt4 book ai didi

Android 在解析 XML 时出错 - 在第 1 行,第 0 列 - 未找到元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:52:05 26 4
gpt4 key购买 nike

问题是上面提到的错误

我从 web 获取的 xml

           <?xml version="1.0" encoding="ISO-8859-1" ?>
<Doc>
<Root>
<Record>
<sar_id>1</sar_id>
<sar_region><![CDATA[Antigua & Barbuda]]></sar_region>
<sar_auth>Antigua and Barbuda Defence Force Coast Guards
</sar_auth>
<email>abdfcg@candw.ag</email>
<primary><![CDATA[1 268 462 06 71]]></primary>
<secondary></secondary>
</Record>
<Record>
<sar_id>2</sar_id>
<sar_region><![CDATA[Argentina]]></sar_region>
<sar_auth>Comando de Operaciones Navals, Argentine Navy
</sar_auth>
<email>coopacsm@ara.mil.ar</email>
<primary><![CDATA[54 2932 487 640?]]></primary>
<secondary></secondary>
</Record>
<Record>
<sar_id>3</sar_id>
<sar_region><![CDATA[Aruba]]></sar_region>
<sar_auth>SARFA
</sar_auth>
<email>sarfa16@hotmail.com</email>
<primary><![CDATA[297 5 837371]]></primary>
<secondary></secondary>
</Record>
</Root>
</Doc>

我的解析xml的代码

        try{
URL url = new URL(
"http://myurl.com");
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxparser = factory.newSAXParser();

XMLReader xmlReader = saxparser.getXMLReader();
SARParser getTParser = new SARParser(itemList);
xmlReader.setContentHandler(getTParser);


InputSource is = new InputSource(url.openStream());
is.setEncoding("ISO-8859-1");

BufferedReader br = new BufferedReader(new InputStreamReader(is.getByteStream()));
String line;
while((line=br.readLine())!=null)
{
Log.i("Line", line);
}
xmlReader.parse(is);

//xmlReader.parse(new InputSource(url.openStream()));

//在谷歌上我找到了这个解决方案,但这给了我错误,因为第 15 行的 token 格式不正确

} catch (Exception e) {
e.printStackTrace();
}

日志是

    09-01 12:32:11.461: WARN/System.err(870): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found
09-01 12:32:11.492: WARN/System.err(870): at org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:538)
09-01 12:32:11.492: WARN/System.err(870): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:468)
09-01 12:32:11.492: WARN/System.err(870): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:329)
09-01 12:32:11.492: WARN/System.err(870): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:286)
09-01 12:32:11.492: WARN/System.err(870): at com.openxcell.sar.Profile.onCreate(Profile.java:77)
09-01 12:32:11.492: WARN/System.err(870): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
09-01 12:32:11.492: WARN/System.err(870): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
09-01 12:32:11.492: WARN/System.err(870): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
09-01 12:32:11.492: WARN/System.err(870): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
09-01 12:32:11.492: WARN/System.err(870): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
09-01 12:32:11.492: WARN/System.err(870): at android.os.Handler.dispatchMessage(Handler.java:99)
09-01 12:32:11.521: WARN/System.err(870): at android.os.Looper.loop(Looper.java:123)
09-01 12:32:11.521: WARN/System.err(870): at android.app.ActivityThread.main(ActivityThread.java:4203)
09-01 12:32:11.521: WARN/System.err(870): at java.lang.reflect.Method.invokeNative(Native Method)
09-01 12:32:11.521: WARN/System.err(870): at java.lang.reflect.Method.invoke(Method.java:521)
09-01 12:32:11.521: WARN/System.err(870): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
09-01 12:32:11.521: WARN/System.err(870): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
09-01 12:32:11.521: WARN/System.err(870): at dalvik.system.NativeStart.main(Native Method)

请帮帮我。如果您遇到过同样的问题,您曾尝试解决什么...请与我分享您的技巧...

谢谢你,马约尔·帕克

最佳答案

您读取输入流两次。

 InputSource is = new InputSource(url.openStream());

这个:

 new BufferedReader(new InputStreamReader(is.getByteStream()));

  xmlReader.parse(is);

两者都读取 InputStream,这是不行的。

删除 BufferedReader 和 while 循环(它们只是在那里确认 XML 已经下载你说的)

我找不到支持我的理论的链接。 Best I could find -Reading an IS twice-

关于Android 在解析 XML 时出错 - 在第 1 行,第 0 列 - 未找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7267033/

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