• 解析XML格式数据


    学习解析XML格式的数据前,搭建一个简单的web服务器,在这个服务器上提供xml文本用于练习。

    一、搭建Apache服务器

      在Apache官网下载编译好的服务器程序,安装。对于Windows来说127.0.0.1就是本机地址,对于Android虚拟机来说,10.0.2.2就是本机的IP地址。

    二、Pull方式解析XML

      步骤:

        1:获取XmlPullParserFactory实例

          XmlPullParserFactory factory = XmlPullParserFactory.newInstance();

        2、借助XmlPullParserFactory实例获取XmlPullParser实例

          XmlPullParser xmlPullParser = factory.newPullParser();

        3、调用XmlPullParser的setinput将获取的服务器返回数据设置进去,

        4、开始解析

          getEventType()获取当前解析事件,next()获取下一个解析事件,getName获取当前节点的名字,nextText()获得节点具体内容。

    三、SAX解析XML

      使用SAX解析XML语义更加清晰,通常新建一个类继承自DefaultHandler,并重写父类的5个方法:

      startDocument()方法会在开始解析XML的时候调用,startElement()会在开始解析某个节点的时候调用,characters()方法会在获取节点内容的时候调用,endElement会在完成某个节点解析的时候调用,endDocument()会在完成整个xml解析的时候调用。步骤如下:

      1、创建一个SAXParserFactory实例

       SAXParseFactoy factory = SAXParseFactory.newInstance();

      2、借助SAXParserFactory获取XMLReader实例

        XMLReader xmlReader = factory.newSAXParser().getXMLReader();

      3、新建一个类继承自DefualtHandler,并重写其5个方法,

        ContentHandler handler = new ContentHandler();其中,ContentHandler类为自定义的类。

      4、将ContentHandler类的实例设置大XMLReader中

        xmlReader.setContentHandler(handler);

      5、开始解析

        xmlReader.parse(new InputSource(new StringReader(xmlData)));

  • 相关阅读:
    Java 中最常见的 5 个错误
    在 Java EE 组件中使用 Camel Routes
    virtualenv 环境下 Nginx + Flask + Gunicorn+ Supervisor 搭建 Python Web
    [译]如何使用 Docker 组件开发 Django 项目?
    7 天玩转 ASP.NET MVC
    如何开发一个自己的 RubyGem?
    [译] 提高日志质量的 5 大技巧
    Ruby Profiler 详解之 stackprof
    总结 | 如何测试你自己的 RubyGem
    第十一节:讲述类的继承,数据库,文件的读写,图形绘制
  • 原文地址:https://www.cnblogs.com/llxbl/p/6368622.html
Copyright © 2020-2023  润新知