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();
    

你可能感兴趣的:(pull解析xml文件)