Android第二十三天

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

二: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);    // 解析XMLui

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

相关文章
相关标签/搜索