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