首页 > 代码库 > Android中解析XML的方法
Android中解析XML的方法
假设我要解析如下的XML文件:
1 <?xml version="1.0" encoding="UTF-8"?>2 <books>3 <book price="99.0" 出版日期="2008年">疯狂java讲义</book>4 <book price="199.0" 出版日期="2009年">疯狂android讲义</book>5 <book price="79.0" 出版日期="2010年">疯狂讲义</book>6 </books>
首先将该文件放到res/xml文件夹下,如果没有可以手动建立,然后解析代码如下:
1 public void xmlparser(View v) { 2 3 XmlResourceParser xmlResourceParser = getResources().getXml(R.xml.books);// 获取xml文件的解析器 4 try { 5 StringBuilder sb = new StringBuilder(); 6 while (xmlResourceParser.getEventType() != XmlResourceParser.END_DOCUMENT) {// 如果没有到文档的结尾处 7 if (xmlResourceParser.getEventType() == XmlResourceParser.START_TAG) {// 如果遇到标签的开始标记,就开始读取类容 8 // 获取标签的签名 9 String tagName = xmlResourceParser.getName();10 if (tagName.equals("book")) {11 12 String bookPrice = xmlResourceParser.getAttributeValue(0);// 获取标签中的第一个属性的值,这里是“price”的值13 String bookdata = http://www.mamicode.com/xmlResourceParser.getAttributeValue(1);// 获取标签中的第二个属性的值,这里是“出版日期”的值14 String bookName = xmlResourceParser.nextText();// 获取文本节点的值,这里是书的名字15 16 sb.append("价格:");17 sb.append(bookPrice);18 sb.append("出版日期:");19 sb.append(bookdata);20 sb.append("书名:");21 sb.append(bookName);22 sb.append("\n");23 }24 25 }26 xmlResourceParser.next();// 获取解析器的下一个事件27 28 }29 30 textView.setText(sb.toString());31 32 } catch (XmlPullParserException e) {33 e.printStackTrace();34 35 } catch (IOException e) {36 e.printStackTrace();37 }38 39 }
解析后的结果如下:
Android中解析XML的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。