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.android.mldn.domain.Person;
public class DOMPersonService { /** * 采用DOM解析XML内容 */ public static List<Person> getPersons(InputStream inStream) throws Throwable{ List<Person> persons = new ArrayList<Person>(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); //对xml 文件进行解析 Document document = builder.parse(inStream); //得到元素的根节点 Element root = document.getDocumentElement(); //得到person 节点 NodeList personNodes = root.getElementsByTagName("person"); //遍历内部节点元素 for (int i = 0; i < personNodes.getLength(); i++) { //创建一个person 实例 Person person = new Person(); Element personElement = (Element) personNodes.item(i); //查找 名称为 id 的元素节点 person.setId(new Integer(personElement.getAttribute("id"))); //读取 子节点 NodeList personChilds = personElement.getChildNodes(); for (int j = 0; j < personChilds.getLength(); j++) { //判断当前节点是否是元素类型节点 if (personChilds.item(j).getNodeType() == Node.ELEMENT_NODE) { Element childElement = (Element)personChilds.item(j); 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; } }

更多相关文章

  1. android通用JSON解析
  2. Android(安卓)Okhttp 断点续传面试解析
  3. android manifest.xml中元素含义
  4. Android接口测试-JUnit入门
  5. Android(安卓)ApiDemos示例解析(139):Views->Layouts->Baseline-
  6. Android(安卓)实践项目开发 总结
  7. Android(安卓)重要知识学习整理
  8. 解决INSTALL_FAILED_INSUFFICIENT_STORAGE调试错误的解决
  9. cocos2d-x之JS中的Android按键监听

随机推荐

  1. Android线程优先级设置方法
  2. Android系统服务 WMS与AMS简单理解
  3. Android(安卓)AlertDialog的一切
  4. android传输视频到PC
  5. 安卓(android)开发框架的说明1:基于Eclipse
  6. 室内定位导航系统设计实现指南
  7. Android不同汉字字数对齐
  8. android 截取头像
  9. Android js交互 与 Html启动App
  10. android window窗口机制