XML的常用解析方式:
文件:NewFile.xml
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<id>1</id>
<name>张三</name>
<age>20</age>
</student>
<student>
<id>2</id>
<name>李四</name>
<age>28</age>
</student>
<student>
<id>3</id>
<name>王五</name>
<age>24</age>
</student>
</students>
1.dom4j解析:
public class Saxreader03 {
public static void main(String[] args) {
SAXReader sax=new SAXReader();
InputStream is=Saxreader03.class.getClassLoader().getResourceAsStream("NewFile.xml");
try {
Document doc=sax.read(is);
Element root=doc.getRootElement();
List<Element> list=root.elements();
for(Element ele:list){
System.out.println(ele.getName());
List<Element> list2=ele.elements();
for(Element ele2:list2){
System.out.println(ele2.getName()+"==="+ele2.getText());
}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.Jdom解析:public class Jdom01 {
public static void main(String[] args) {
SAXBuilder sax=new SAXBuilder();
InputStream is=Jdom01.class.getClassLoader().getResourceAsStream("NewFile.xml");
try {
Document doc=sax.build(is);
Element root= doc.getRootElement();
List<Element> list= root.getChildren();
for(Element ele:list){
System.out.println(ele.getName());
List<Element> list2= ele.getChildren();
for(Element ele2:list2){
System.out.println(ele2.getName()+"==="+ele2.getText());
}
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}