package xml; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.util.List; /** * 使OM4J解析XML文档用D */ public class ParseXmlDemo { public static void main(String[] args) { /* 解析XML文档的一般步骤: 1:创建SAXReader 2:使用SAXReader读取xml文档并生成Document对象 3:通过Document对象获取根元素(根标签) 4:从根标签逐渐获得子标签,最终实现分析XM数据目的 */ try { //1 SAXReader reader=new SAXReader(); //2 Document doc= reader.read("./userList.xml"); //3 /* Element每个实例用于表示XML文档中的一个元素(一对标签) 它提供了一组获取元素相关信息的方法,常用的有: String getName() 获取元素名字 String getText() 获取元素体的文本数据(开始和结束标签之间的文本信息) Element elememt(String name) 获取当前指定名称的子元素 List elements() 在当前元素中获得所有子元素 List elements(String name ) 在当前元素中获取所有同名子元素(指定名称) */ Element root=doc.getRootElement(); System.out.println("根元素:" root.getName()); ///通过根标签获得所有名称<emp>的子标签 List<Element> empList= root.elements("emp"); System.out.println(empList.size()); for (Element empEle:empList){ //获取<name>标签 Element nameEle=empEle.element("name"); //获取<name>标签中间的文本 String name=nameEle.getText(); int age=Integer.parseInt(empEle.elementText("age")); String gender=empEle.elementText("gender"); int salary=Integer.parseInt( empEle.elementText("salary") ); int id=Integer.parseInt( empEle.attributeValue("id") ); System.out.println(id "," name "," age "," gender "," salary); } }catch (Exception e){ e.printStackTrace(); } } }