dom 4 j入力xmlドキュメントと解析xmlドキュメント

3264 ワード

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();
	}