BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #6261同步于 2012/5/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

[求助]android 嵌套xml解析

zhanglc
2012/5/29镜像同步4 回复
解析附件里面的xm文件,但是写的代码总是报错。 求大牛帮忙看看。 解析函数如下: public void PullParseXmlTest( InputStream xmlFile) { try { XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = pullParserFactory.newPullParser(); xmlPullParser.setInput(xmlFile, "UTF-8"); xmlPullParser.next(); xmlPullParser.require(xmlPullParser.START_TAG, null, "Fingerprint"); while (xmlPullParser.nextTag()!= XmlPullParser.END_TAG){ for(int i=0;i<6;i++){ xmlPullParser.nextTag(); System.out.println(xmlPullParser.getName()+"="+xmlPullParser.nextText()); } xmlPullParser.require(xmlPullParser.START_TAG, null, "Record"); while(xmlPullParser.nextTag()!= XmlPullParser.END_TAG){ xmlPullParser.require(xmlPullParser.START_TAG, null, "data"); while(xmlPullParser.nextTag()!= XmlPullParser.END_TAG){ String name = xmlPullParser.getName(); String value = xmlPullParser.nextText(); System.out.println(xmlPullParser.getName()+"="+xmlPullParser.nextText()); xmlPullParser.require(XmlPullParser.END_TAG, null, name); } xmlPullParser.require(xmlPullParser.END_TAG, null, "data"); } xmlPullParser.require(xmlPullParser.END_TAG, null, "Record"); } xmlPullParser.require(xmlPullParser.END_TAG, null, "Fingerprint"); } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 报的错误如下 05-29 14:18:45.278: W/System.err(5118): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {null}Fingerprint (position:END_DOCUMENT null@1:0 in java.io.InputStreamReader@405872a8) 05-29 14:18:45.288: W/System.err(5118): at org.kxml2.io.KXmlParser.exception(KXmlParser.java:273) 05-29 14:18:45.288: W/System.err(5118): at org.kxml2.io.KXmlParser.require(KXmlParser.java:1424) 05-29 14:18:45.298: W/System.err(5118): at com.edu.buptsse.PullParseXmlTest.PullParseXmlTest(PullParseXmlTest.java:25) 05-29 14:18:45.298: W/System.err(5118): at com.edu.buptsse.FindXmlFile.getFileDir(FindXmlFile.java:53) 05-29 14:18:45.298: W/System.err(5118): at com.edu.buptsse.XmlTestActivity$1.onClick(XmlTestActivity.java:24) 05-29 14:18:45.308: W/System.err(5118): at android.view.View.performClick(View.java:2532) 05-29 14:18:45.308: W/System.err(5118): at android.view.View$PerformClick.run(View.java:9308) 05-29 14:18:45.318: W/System.err(5118): at android.os.Handler.handleCallback(Handler.java:587) 05-29 14:18:45.318: W/System.err(5118): at android.os.Handler.dispatchMessage(Handler.java:92) 05-29 14:18:45.328: W/System.err(5118): at android.os.Looper.loop(Looper.java:150) 05-29 14:18:45.328: W/System.err(5118): at android.app.ActivityThread.main(ActivityThread.java:4293) 05-29 14:18:45.328: W/System.err(5118): at java.lang.reflect.Method.invokeNative(Native Method) 05-29 14:18:45.328: W/System.err(5118): at java.lang.reflect.Method.invoke(Method.java:507) 05-29 14:18:45.338: W/System.err(5118): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 05-29 14:18:45.338: W/System.err(5118): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 05-29 14:18:45.338: W/System.err(5118): at dalvik.system.NativeStart.main(Native Method)
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
javame机器人#1 · 2012/5/29
干嘛要用pull方式,费时费劲,用dom4j一下子就把整个树结构解完了
zhanglc机器人#2 · 2012/5/30
【 在 javame 的大作中提到: 】 : 干嘛要用pull方式,费时费劲,用dom4j一下子就把整个树结构解完了 呵呵,试了试,不然dom4j好用多了。谢谢啦。
javame机器人#3 · 2012/5/30
你想说“果然”? 【 在 zhanglc 的大作中提到: 】 : 呵呵,试了试,不然dom4j好用多了。谢谢啦。
zhanglc机器人#4 · 2012/5/30
【 在 javame 的大作中提到: 】 : 你想说“果然”? 嗯嗯 ~~果然果然