打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
xml解析

1、Dom解析http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html

//得到DOM解析器的工厂实例DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//从DOM工厂中获得DOM解析器DocumentBuilder builder = factory.newDocumentBuilder();//通过DocumentBuilder的parse方法获得一个文档对象//Document doc = builder.parse(InputStream);Document doc = builder.parse(".xml");//得到根节点Element root = doc.getDocumentElement();//得到root节点内名称为student的元素的节点列表NodeList nodeList = root.getElementsByTagName("student");//遍历该集合,从集合中取出信息。。。//一些常用方法Node node =list.item(i);//取出列表中内的一个节点node.getNodeType()//获得节点类型node.getNodeName()//获得该节点名称node.getFirstChild()//获得该节点的第一个子节点node.getNodeValue())//获得该节点的值node.getAttribute("")//通过名称获得属性值


2、SAX解析http://www.cnblogs.com/felix-hua/archive/2012/01/10/2317404.html

//新建一个工厂类SAXParserFactorySAXParserFactory factory = SAXParserFactory.newInstance();//让工厂类产生一个SAX的解析类SAXParserSAXParser parser = factory.newSAXParser();//使用SAXParser的parser方法传入xml流和自定义的Handeler,解析开始parser.parse(is,new MyHandeler);//自定义Handeler:class MyHandler extends DefaultHandler{//当解析文档开始时回调此方法 startDocument() //当解析文档结束时回调此方法 endDocument() //当解析到一个元素开始时回调此方法 startElement(String uri, String localName, String qName,Attributes attributes){//localName不带命名空间 qName带命名空间 attributes.get(String attrID)//获得名称为attrID的属性值  }//当解析到一个元素结束时回调此方法 endElement(String uri, String localName, String qName) //当解析到元素的内容时回调此方法 characters(char[] ch, int start, int length)     }

3、Pull解析

//新建一个XmlPullParserFactory工厂类XmlPullParserFactory factory=XmlPullParserFactory.newInstance();//新建一个XmlPullParser解析器XmlPullParser parser=factory.newPullParser();//使用XmlPullParser的setInput方法设置要解析的xml流和编码parser.setInput(XmlPullParser, "utf-8");int event = parser.getEventType();//产生第一个事件  while(event!=XmlPullParser.END_DOCUMENT){      switch(event){      case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事件          books = new ArrayList<Book>();//初始化books集合          break;      case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事件          if("book".equals(parser.getName())){//判断开始标签元素是否是book              book = new Book();              book.setId(Integer.parseInt(parser.getAttributeValue(0)));//得到book标签的属性值,并设置book的id          }          if(book!=null){              if("name".equals(parser.getName())){//判断开始标签元素是否是name                  book.setName(parser.nextText());              }else if("price".equals(parser.getName())){//判断开始标签元素是否是price                  book.setPrice(Float.parseFloat(parser.nextText()));              }          }          break;      case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事件          if("book".equals(parser.getName())){//判断结束标签元素是否是book              books.add(book);//将book添加到books集合              book = null;          }          break;      }      event = parser.next();//进入下一个元素并触发相应事件  }return books;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android Pull解析xml
7.2.1 Android XML数据解析
Android解析XML文件的三方法
Android使用Pull解析器解析XML文件
使用Pull方法生成一个XML?并解析
Android中解析XML
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服