pull解析xml文件

拿到pull解析器

XmlPullParser xmlPullParser = Xml.newPullParser();
-----------另外一种方式---------------
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser = factory.newPullParser();

拿到xml文件,对象格式是Reader

InputStream is = getClassLoader().getResourceAsStream("weather.xml");

调用解析器的setInput()方法将XML文件设置进去开始解析

xmlPullParser.setInput(is);   

开始解析

  • 拿到指针所在当前节点的事件类型

    int type = xmlPullParser.getEventType();
    
  • 事件类型主要有五种

    • START_DOCUMENT:xml头的事件类型
    • END_DOCUMENT:xml尾的事件类型
    • START_TAG:开始节点的事件类型
    • END_TAG:结束节点的事件类型
    • TEXT:文本节点的事件类型
  • 如果获取到的事件类型不是END_DOCUMENT,就说明解析还没有完成,如果是,解析完成,while循环结束

    //判断是否解析完毕
    while(type != XmlPullParser.END_DOCUMENT)
    
  • 当我们解析到不同节点时,需要进行不同的操作,所以判断一下当前节点的name

    //拿取结点名称
    String nodeName = xmlPullParser.getName();
    
  • 获取节点内容文本内容也是一个节点,属于文本节点,回车符是一个文本节点

    //获取节点内容,此方法代表的含义是获取当前节点的下一个节点的文本内容,运行完此函数指针已指向此标签的结束标签
    String body = xmlPullParser.nextText();
    
  • 节点的移动

    //把节点移动到下一个节点,并返回该节点的事件类型
    type = xmlPullParser.next();
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容