public class DomHelper {
public static ArrayList<Person> queryXML(Context context)
{
ArrayList<Person> Persons = new ArrayList<Person>();
try {
//①获得DOM解析器的工厂示例:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
//②从Dom工厂中获得dom解析器
DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();
//③把要解析的xml文件读入Dom解析器
Document doc = dbBuilder.parse(context.getAssets().open("person2.xml"));
System.out.println("处理该文档的DomImplemention对象=" + doc.getImplementation());
//④得到文档中名称为person的元素的结点列表
NodeList nList = doc.getElementsByTagName("person");
//⑤遍历该集合,显示集合中的元素以及子元素的名字
for(int i = 0;i < nList.getLength();i++)
{
//先从Person元素开始解析
Element personElement = (Element) nList.item(i);
Person p = new Person();
p.setId(Integer.valueOf(personElement.getAttribute("id"))); //获取person下的name和age的Note集合
NodeList childNoList = personElement.getChildNodes();
for(int j = 0;j < childNoList.getLength();j++)
{
Node childNode = childNoList.item(j);
//判断子note类型是否为元素Note
if(childNode.getNodeType() == Node.ELEMENT_NODE)
{
Element childElement = (Element) childNode;
if("name".equals(childElement.getNodeName()))
p.setName(childElement.getFirstChild().getNodeValue());
else if("age".equals(childElement.getNodeName()))
p.setAge(Integer.valueOf(childElement.getFirstChild().getNodeValue()));
}
}
Persons.add(p);
}
} catch (Exception e) {e.printStackTrace();}
return Persons;
}
}

最新文章

  1. x01.CodeBuilder: 生成代码框架
  2. sql install error
  3. jekyll安装的斗智斗勇
  4. 跨平台的.NET运行环境 Mono 3.2发布
  5. Posix消息队列
  6. 基于 Markdown 的开源的 Node.js 知识库平台
  7. OpenGL、Open Inventor、WebGL、Three.js、ARToolkit、JSARToolkit
  8. 路徑 z
  9. C语言基础04
  10. 基于visual Studio2013解决面试题之0504单链表逆序
  11. 【无旋式treap】例题
  12. cgg之数据类型
  13. int(*p)[]和int(**p)[]
  14. NOIP2017Day1题解
  15. 使用shell进行etl数据验证
  16. ubuntu默认的Python版本号修改
  17. C#关键字的使用
  18. Python Mysql_db对数据查询进行处理
  19. log4j日志配置(按天/按日)
  20. Spark记录-Scala多线程

热门文章

  1. 破解google翻译API全过程
  2. js 倒计时 时间戳
  3. 用国内镜像源pip加速安装模块
  4. 一台服务器的IIS绑定多个域名
  5. MoreEffectiveC++Item35 条款25 将constructor和non-member functions虚化
  6. LINUX系统下PXE网络安装虚拟机
  7. LINUX系统下的磁盘共享
  8. 转:JAVA CAS原理深度分析
  9. DataTable和实体类通过反射相互转换
  10. 显卡、显卡驱动、显存、GPU、CUDA、cuDNN