android学习四:xml
来源:互联网 发布:mac腾讯助手官方下载 编辑:程序博客网 时间:2024/06/08 17:42
主要是想简单的学习xml的解析。
服务器端直接放两个xml文件。我们的app客户端通过http get的方式得到两个文件的内容。如下。
person.xml
<?xml version="1.0" encoding="UTF-8"?><persons><person id = "23"><name>张老师</name><age>21</age></person><person id = "20"><name>李老师</name><age>25</age></person></persons>
book.xml
<?xml version="1.0" encoding="UTF-8"?><books><book id="10"><name> java </name><price>12.0</price></book><book id="11"><name> C++ </name><price>13.0</price></book></books>
客户端解析下面的数据。
1、使用SAX解析 person.xml
2、使用dom解析book.xml
根据xml可以新建一个类Book
public class Book {private int id;private String name;private float price;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}@Overridepublic String toString() {return this.id + ":" + this.name + ":" + this.price;}}从xml文件里面获取到InputStream。下面对InputStream进行解析。原理不是很了解。但是套用还是可以使用的。
public List<Book> getBooks(InputStream inputStream) throws Exception {<span style="white-space:pre"></span>List<Book> list = new ArrayList<Book>();<span style="white-space:pre"></span>/** 下面的四个语句基本固定的 */<span style="white-space:pre"></span>DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();<span style="white-space:pre"></span>DocumentBuilder builder = factory.newDocumentBuilder();<span style="white-space:pre"></span>Document document = builder.parse(inputStream);<span style="white-space:pre"></span>Element element = document.getDocumentElement();<span style="white-space:pre"></span>/** 每个book节点下面的所有内容的list集合 */<span style="white-space:pre"></span>NodeList bookNodes = element.getElementsByTagName("book");<span style="white-space:pre"></span>for (int i = 0; i < bookNodes.getLength(); i++) {<span style="white-space:pre"></span>/** 获取每个book */<span style="white-space:pre"></span>Element bookElement = (Element) bookNodes.item(i);<span style="white-space:pre"></span>Book book = new Book();<span style="white-space:pre"></span>/** book的属性 */<span style="white-space:pre"></span>book.setId(Integer.parseInt(bookElement.getAttribute("id")));<span style="white-space:pre"></span>/** book的子节点 */<span style="white-space:pre"></span>NodeList childNodes = bookElement.getChildNodes();<span style="white-space:pre"></span>for (int j = 0; j < childNodes.getLength(); j++) {<span style="white-space:pre"></span>if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE) {<span style="white-space:pre"></span>if ("name".equals(childNodes.item(j).getNodeName())) {<span style="white-space:pre"></span>book.setName(childNodes.item(j).getFirstChild()<span style="white-space:pre"></span>.getNodeValue());<span style="white-space:pre"></span>} else if ("price".equals(childNodes.item(j).getNodeName())) {<span style="white-space:pre"></span>book.setPrice(Float.parseFloat(childNodes.item(j)<span style="white-space:pre"></span>.getFirstChild().getNodeValue()));<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>list.add(book);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>return list;<span style="white-space:pre"></span>}
0 0
- android学习四:xml
- XML学习基础(四)
- spring学习(四):配置文件xml
- XML学习笔记(四)--Delphi读写xml
- 学习XML之四:XML 语法规则
- AS(四)Android xml解析
- Android学习笔记四
- Android 学习笔记(四)
- android JNI学习四
- Android学习(四)
- Android学习笔记(四)
- Android学习记录<四>
- Android学习(四)
- 开源中国Android版学习笔记(四) layout文件夹的xml文件(C)
- android 学习manifest.xml
- Android学习--XML基础
- Android之XML学习
- Struts2学习笔记四:struts.xml
- 消息队列操作函数
- 实战SOHO接单的全过程
- hdu1272 小希的迷宫
- 友元类
- AOP初级
- android学习四:xml
- 树莓派实战1:查询自己内网,外网ip
- 一个资深SOHO程序员对新人的建议
- 使用 OSC Maven 第三方仓库
- IOS View编程指南笔记
- NYOJ 33 蛇形填数
- HDU 4372 Count the Buildings(组合数学,第一类Stirling数)
- YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24
- CodeForces 46D Parking Pot(线段树区间更新)