全国免费热线:
XML的解析与生成
作者:中国IT实验室 点击:15408次 日期:2012-09-14
字号::T | T
    Android平台上可以使用 Simple API for XML (SAX), Document Object Model(DOM) 和Android 附带的pull解析器 解析XML文件
   
    众所周知,DOM解析方式很耗内存, 优先使用SAX或者pull
   
    SAX:
   
    解析速度快,占用内存少,采用事件驱动,即不需要加载完整个文档,而是按内容顺序解析文档,在此过程中,其会判断当前读到的内容是否符合XML语法定义,如果符合就会触发事件,所谓事件,其实就是一些callback方法,具体方法含义比较简单, 看文档即可,定义在DefaultHandler接口中(SAX已内置到JDK5.0中)
   
    待解析xml文件musics.xml:
   
    xml version=“1.0” encoding=“utf-8”?>
   
   
   
    黑色幽默name>
   
    ,故忽略这个因素
   
    */
   
    @Override
   
    public void characters(char[] ch, int start, int length)
   
    throws SAXException {
   
    if (null != music) {
   
    String str = new String(ch, start, length);
   
    if (“name”.equals(preTag)) {
   
    music.setName(str);
   
    } else if (“albumName”.equals(preTag)) {
   
    music.setAlbumName(str);
   
    } else if (“year”.equals(preTag)) {
   
    music.setYear(Integer.parseInt(str));
   
    }
   
    }
   
    }
   
    @Override
   
    public void endElement(String uri, String localName, String qName)
   
    throws SAXException {
   
    if (“music”.equals(localName) && null != music) {
   
    musics.add(music);
   
    music = null;
   
    }
   
    preTag = null;
   
    }
   
    @Override
   
    public void endDocument() throws SAXException {
   
    }
   
    public List getMusics() {
   
    return musics;
   
    }
   
    }
   
    对外提供SAX解析服务的接口SaxService:
   
    public class SaxService {
   
    public static List readXml(InputStream is) throws Exception {
   
    SAXParserFactory saxFactory = SAXParserFactory.newInstance();
   
    SAXParser parser = saxFactory.newSAXParser();//
   
    parser.setProperty(“http://xml.org/sax/features/namespaces”, true);
   
    SaxHandler handler = new SaxHandler();
   
    parser.parse(is, handler);
   
    return handler.getMusics();
   
    }
   
    }


[1]  

发表评论

昵称 * 验证码 * 验证码
上一篇: >使用java编写排序算法
下一篇: 常见JSP中文乱码例子及其解决方法

资质证书

CMMI Ⅲ APPRAISAL ID:30062
ISO9001:08915Q20090ROS
ISO27001:04817I20037R0S
高新技术企业:GR201753000141

电子商务三位一体发展战略

时时彩好平台

技术研发

时时彩好平台

业务培训

时时彩好平台

实战运营

战略布局

时时彩好平台--官网 时时彩好平台 (安全购彩) -Welcome 时时彩好平台--官网 时时彩好平台--官网 时时彩好平台(安全购彩) 时时彩好平台【 DB779.COM 】-Welcome 时时彩好平台【 DB779.COM 】 时时彩好平台-Welcome 时时彩好平台【 DB779.COM 】 极速时时彩【 DB779.COM 】 极速时时彩(安全购彩) 极速时时彩--官网