dom可以解析和在程序运行时改变XML文件。在使用 DOM 解析 XML 文档时,需要读取整个 XML 文档,在内存中构建代表整个 DOM 树的Doucment对象,从而再对XML文档进行操作。此种情况下,如果 XML 文档特别大,就会消耗计算机的大量内存,严重情况下可能还会导致内存溢出。(一般XML文件存放的数据不会特别大,因此这种情况一般不会考虑)
一、解析步骤
1.调用DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂。
2.调用工厂对象的 newDocumentBuilder方法得到 DOM 解析器对象。
3.调用 DOM 解析器对象的 parse() 方法解析 XML 文档,得到代表整个文档的 Document 对象,进行可以利用DOM特性对整个XML文档进行操作了。
例如:
将xml文件中存放的Student信息解析,并创建Student对象,放到集合里,显示到桌面上。
这是一个Students.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<Students>
<!-- 这是注释 -->
<student id="1011234" >
<name>Tom</name>
<age>20</age>
<score>100</score>
</student>
<student id="1011223" >
<name>jack</name>
<age>22</age>
<score>90</score>
</student>
</Students>
这是Student类
package xml;
public class Student {
private String id;
private String name;
private int age;
private int score;
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
pu