<students> <student> <age>20</age> <grade>12</grade> </student> <student> <age>21</age> <grade>11</grade> </student> </students> <dependencies> <dependency> <groupId>com.fasterxml</groupId> <artifactId>aalto-xml</artifactId> <version>1.3.0</version> </dependency> </dependencies> import com.fasterxml.aalto.*; import javax.xml.stream.*; import java.io.FileInputStream; public class XmlParser { public static void main(String[] args) { try { XMLInputFactory factory = new InputFactoryImpl(); FileInputStream fileInputStream = new FileInputStream("students.xml"); XMLStreamReader reader = factory.createXMLStreamReader(fileInputStream); while (reader.hasNext()) { int event = reader.next(); if (event == XMLStreamReader.START_ELEMENT) { if (reader.getLocalName().equals("student")) { String name = null; int age = 0; int grade = 0; while (reader.hasNext()) { event = reader.next(); if (event == XMLStreamReader.START_ELEMENT) { if (reader.getLocalName().equals("name")) { reader.next(); name = reader.getText(); } if (reader.getLocalName().equals("age")) { reader.next(); age = Integer.parseInt(reader.getText()); } if (reader.getLocalName().equals("grade")) { reader.next(); grade = Integer.parseInt(reader.getText()); } } if (event == XMLStreamReader.END_ELEMENT) { if (reader.getLocalName().equals("student")) { Student student = new Student(name, age, grade); processStudent(student); break; } } } } } } reader.close(); fileInputStream.close(); } catch (Exception e) { e.printStackTrace(); } } private static void processStudent(Student student) { System.out.println("-----------------------"); } } class Student { private String name; private int age; private int grade; public Student(String name, int age, int grade) { this.name = name; this.age = age; this.grade = grade; } public String getName() { return name; } public int getAge() { return age; } public int getGrade() { return grade; } }


上一篇:
下一篇:
切换中文