SAX xml解析

来源:互联网 发布:淘宝代运营w863 编辑:程序博客网 时间:2024/06/06 07:16

今天又重新温习一下xml的三种解析,参考网址Android中解析XML,写得确实很好,写了三个例子,自己敲了一遍,很快就理解差不多了,但是看了一遍以后,想看深入一些,看看他的流程是什么,于是就在code中添加的打印堆栈的log,可以参考Android打印代码调用栈,以后遇到问题,可以添加这些log就能解决很多的事情了。看了一下,log信息如下:

D/congcl  ( 5074): startDocument trace: dalvik.system.VMStack.getThreadStackTrace(Native Method)D/congcl  ( 5074): startDocument trace: java.lang.Thread.getStackTrace(Thread.java:591)D/congcl  ( 5074): startDocument trace: com.project.xmlparse.model.parser.SaxBookParser$MyHandler.startDocument(SaxBookParser.java:110)D/congcl  ( 5074): startDocument trace: org.apache.harmony.xml.ExpatParser.startDocument(ExpatParser.java:524)D/congcl  ( 5074): startDocument trace: org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:473)D/congcl  ( 5074): startDocument trace: org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:321)D/congcl  ( 5074): startDocument trace: org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)D/congcl  ( 5074): startDocument trace: javax.xml.parsers.SAXParser.parse(SAXParser.java:390)D/congcl  ( 5074): startDocument trace: javax.xml.parsers.SAXParser.parse(SAXParser.java:187)D/congcl  ( 5074): startDocument trace: com.project.xmlparse.model.parser.SaxBookParser.parse(SaxBookParser.java:38)D/congcl  ( 5074): startDocument trace: com.project.xmlparse.MainActivity$1.onClick(MainActivity.java:39)D/congcl  ( 5074): startDocument trace: android.view.View.performClick(View.java:4202)D/congcl  ( 5074): startDocument trace: android.view.View$PerformClick.run(View.java:17340)D/congcl  ( 5074): startDocument trace: android.os.Handler.handleCallback(Handler.java:725)D/congcl  ( 5074): startDocument trace: android.os.Handler.dispatchMessage(Handler.java:92)D/congcl  ( 5074): startDocument trace: android.os.Looper.loop(Looper.java:137)D/congcl  ( 5074): startDocument trace: android.app.ActivityThread.main(ActivityThread.java:5039)D/congcl  ( 5074): startDocument trace: java.lang.reflect.Method.invokeNative(Native Method)D/congcl  ( 5074): startDocument trace: java.lang.reflect.Method.invoke(Method.java:511)D/congcl  ( 5074): startDocument trace: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)D/congcl  ( 5074): startDocument trace: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)D/congcl  ( 5074): startDocument trace: dalvik.system.NativeStart.main(Native Method)

通过log信息很快就能定位它的执行流成了,主要的文件有SAXParser,ExpatParse,最后就已字节流的形式下发到底层,defaulthandler中的一些方法也都是在底层中上报调用的,代码点击下载






原创粉丝点击