zoukankan      html  css  js  c++  java
  • 解析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)));

  • 相关阅读:
    Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)
    The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly
    java 调用webservice (asmx) 客户端开发示例
    CXF动态客户端如何优化JaxWsDynamicClientFactory.createClient -- 慢
    telnet测试端口是否正常打开
    Java 数组 可变长参数 实例
    java数组的声明由几种方式
    Java中包、类、方法、属性、常量的命名规则
    web开发性能优化---安全篇
    linux路由服务
  • 原文地址:https://www.cnblogs.com/llxbl/p/6368622.html
Copyright © 2011-2022 走看看