返回信息流解析附件里面的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)
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #6261同步于 2012/5/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
[求助]android 嵌套xml解析
zhanglc
2012/5/29镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
【 在 javame 的大作中提到: 】
: 干嘛要用pull方式,费时费劲,用dom4j一下子就把整个树结构解完了
呵呵,试了试,不然dom4j好用多了。谢谢啦。