dom 4 j入力xmlドキュメントと解析xmlドキュメント
3264 ワード
xmlドキュメントを書く
xmlドキュメントの解析
try {
List list=new ArrayList();
list.add(new Student(1," ",25," ",8000));
list.add(new Student(2," ",26," ",9000));
list.add(new Student(3," ",24," ",6000));
list.add(new Student(4," ",24," ",8000));
list.add(new Student(5," ",24," ",4500));
System.out.println(list);
//1.
Document doc=DocumentHelper.createDocument();
//2. doc ,
Element root=doc.addElement("list"); // list
//3.
// Student , 。 , Student
for(Student stu:list) {
// student
Element stuEle=root.addElement("student");
//
Element nameEle=stuEle.addElement("name");
//
nameEle.addText(stu.getName());
// , student
Element ageEle=stuEle.addElement("age");
ageEle.addText(String.valueOf(stu.getAge()));
Element genderEle=stuEle.addElement("gender");
genderEle.addText(stu.getGender());
Element salaryEle=stuEle.addElement("salary");
salaryEle.addText(String.valueOf(stu.getSalary()));
// id
stuEle.addAttribute("id",String.valueOf(stu.getId()));
}
/**
* , Student doc ,
*/
//4.
FileOutputStream fos=new FileOutputStream("student.xml");
XMLWriter writer=new XMLWriter(fos,OutputFormat.createPrettyPrint());
//
writer.write(doc);
System.out.println(" !");
writer.close();
}catch(Exception e) {
e.printStackTrace();
}
xmlドキュメントの解析
try {
SAXReader reader=new SAXReader();
Document doc=reader.read(new FileInputStream("student.xml"));
Element root=doc.getRootElement();
System.out.println(" :"+root.getName());
//1.
List stuList=root.elements();
System.out.println(" "+stuList.size()+" ");
//2.
Listlist=new ArrayList();
//3. student list
for(Element stuEle:stuList) {
Element nameEle=stuEle.element("name");// student name
String name=nameEle.getText();
System.out.println(" :"+name);
Element ageEle=stuEle.element("age");
int age=Integer.parseInt(ageEle.getText());
System.out.println(" :"+age);
Element genderEle=stuEle.element("gender");
String gender=genderEle.getText();
System.out.println(gender);
Element salaryEle=stuEle.element("salary");
int salary=Integer.parseInt(salaryEle.getText());
System.out.println(" :"+salary);
// id
int id=Integer.parseInt(stuEle.attributeValue("id"));
Student stu=new Student(id,name,age,gender,salary);
list.add(stu);
}
System.out.println(" !");
for(Student s:list) {
System.out.println(s);
}
}catch(Exception e) {
e.printStackTrace();
}