xml文本:
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>aa</name>
<sex>m</sex>
<age>23</age>
</employee>
<employee>
<name>bb</name>
<sex>f</sex>
<age>24</age>
</employee>
</employees>
创建XML文件
public static void createXml(String fileName) {
Document document = DocumentHelper.createDocument();
Element employees = document.addElement("employees");
Element employee = employees.addElement("employee");
Element name = employee.addElement("name");
name.setText("aa");
Element sex = employee.addElement("sex");
sex.setText("m");
Element age = employee.addElement("age");
age.setText("23");
try {
Writer fileWriter = new FileWriter(fileName);
XMLWriter xmlWriter = new XMLWriter(fileWriter);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
第一种解析方法:
public static void parserXml(String fileName) {
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();) {
Element employee = (Element) i.next();
for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) j.next();
System.out.println(node.getName() + ":" + node.getText());
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
第二种解析方法:
public static void parseXmlOther(String filePath){
SAXReader reader = new SAXReader();
try {
Document document = reader.read(filePath);
Element ele = document.getRootElement();
Iterator<Element> iterator = ele.elementIterator("employee");
for(;iterator.hasNext();){
Element xmlElement = iterator.next();
System.out.println("name="+xmlElement.elementText("name"));
System.out.println("sex="+xmlElement.elementText("sex"));
System.out.println("age="+xmlElement.elementText("age"));
}
} catch (DocumentException e) {
e.printStackTrace();
}
}