Android之DOM解析XML文件
2011-08-12 15:15
417 查看
package com.duantl.service; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import com.duantl.domain.Person; /** * 采用DOM解析XML内容 */ public class DOMPersonService { public static List<Person> getPersons(InputStream inStream) throws Throwable{ List<Person> persons = new ArrayList<Person>(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document documnet = builder.parse(inStream); Element root = documnet.getDocumentElement(); NodeList personNodes = root.getElementsByTagName("person"); for(int i=0 ; i < personNodes.getLength(); i++){ Person person = new Person(); Element personElement = (Element)personNodes.item(i); person.setId(new Integer(personElement.getAttribute("id"))); NodeList personChilds = personElement.getChildNodes(); for(int y=0 ; y < personChilds.getLength(); y++){ if(personChilds.item(y).getNodeType()==Node.ELEMENT_NODE){//判断当前节点是否是元素类型节点 Element childElement = (Element)personChilds.item(y); if("name".equals(childElement.getNodeName())){ person.setName(childElement.getFirstChild().getNodeValue()); }else if("age".equals(childElement.getNodeName())){ person.setAge(new Short(childElement.getFirstChild().getNodeValue())); } } } persons.add(person); } return persons; } }
JUnit
public void testDomGetPersons() throws Throwable{ InputStream inStream = getClass().getClassLoader().getResourceAsStream("persons.xml"); List<Person> persons = DOMPersonService.getPersons(inStream); for(Person person : persons){ Log.i(TAG, person.toString()); } }
相关文章推荐
- Android 使用SAX或者DOM或者pull解析XML文件
- Android开发(8)--Android中DOM解析xml文件
- android学习——使用SAX、DOM 和 PULL 解析xml文件,及使用pull生成xml文件
- Android -使用DOM(文档对象模型)解析XML文件
- Android -使用DOM(文档对象模型)解析XML文件
- Android -使用DOM(文档对象模型)解析XML文件
- Android 个人学习笔记之--- DOM解析XML文件
- Android中Sax解析与Dom解析xml文件
- Android-使用DOM解析与生成XML文件
- Android数据存储——2.文件存储_C_DOM解析XML文档
- Android SAX和DOM解析XML文件
- Android中DOM解析xml文件
- Android数据存储——2.文件存储_C_DOM解析XML文档
- Android中DOM解析xml文件
- Android 使用SAX或者DOM或者pull解析XML文件
- Android中DOM解析XML文件
- Android数据存储之DOM解析XML文件(输出部分)
- android(12)_解析xml文件1_dom
- Android 中利用SAX ,Dom,pull解析 XML 文件
- Android开发(8)--Android中DOM解析xml文件