Android第二十三天

一:XML概念:
    XML(eXtended Markup Language)可扩展标示语言
    XML是跨平台、跨网络、跨语言的用来数据交换、系统配置的可扩展标示语言。
    XML的优势:可以清晰地进行数据描述。
    XML格式:
    <?xml version="1.0" encoding="utf-8"?>  
    <根标签>
        <子标签>数据</子标签>
        ...
    </根标签>

二:XML解析
    1.Pull解析 (以事件常量的方式解析)
      XmlPullParserFactory factory=XmlPullParserFactory.newInstance();  // 创建解析工厂
      XmlPullParser xmlParser=factory.newPullParser();   // 生成解析对象
      xmlParser.setInput(new StringReader(content));   // 设置要读取的内容
      int type=xmlParser.getEventType();  // 获取当前解析的事件类型常量
      String tagName=xmlParser.getName();    // 获取当前的标签名称
      xmlParser.next();    // 将游标下移,获取下一个事件常量
      String userName=xmlParser.getText();  // 获取文本

    2.SAX解析 (Simple Api for Xml) 针对XML的简单解析API
      SAX以事件通知的方式解析XML。
      自定义一个继承自DefaultHandler的类,复写其中的相关方法。
      SAXParserFactory factory=SAXParserFactory.newInstance();   // 创建解析工厂
      SAXParser parser=factory.newSAXParser();    // 创建解析对象
      File f=new File("xxx");
      实例化DefaultHandler对象handler
      parser.parse(f,handler);    // 解析XML

    3.DOM解析(了解)(Document Object Model)
      将XML结构以DOM树结构解析到内存中。
      DOM解析可以随机访问DOM树中的节点。
      DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
      DocumentBuilder builder=factory.newDocumentBuilder();
      Document doc = builder.parse("file对象");   // 解析XML到内存中
      NodeList nodeList=doc.getElementsByTagName("标签名");
      Node node = nodeList.item(index);
      String nodeValue=node.getFirstChild().getNodeValue();

转载于:https://my.oschina.net/huangxiaolei/blog/702909

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值