加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SAX xml解析

发布时间:2020-12-16 05:32:59 所属栏目:百科 来源:网络整理
导读:今天又重新温习一下xml的三种解析,参考网址Android中解析XML,写得确实很好,写了三个例子,自己敲了一遍,很快就理解差不多了,但是看了一遍以后,想看深入一些,看看他的流程是什么,于是就在code中添加的打印堆栈的log,可以参考Android打印代码调用栈,

今天又重新温习一下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中的一些方法也都是在底层中上报调用的,代码 点击下载

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读