11.18Java学习进度

解析xml属性操作,Xpath:

// 1. 加载xml文件到jvm中,形成数据流
InputStream is TestXML_1.class.getClassLoader().getResourceAsStream("test4.xml");

// 2. 创建解析对象  
SAXReader sax = new SAXReader();  

// 3. 获得文档对象(整个xml文件)[将数据流转换成一个文档对象]  
Document doc = sax.read(is);  

// 4. 获得根元素  
Element root = doc.getRootElement();  

// 5. 获得根元素下的所有子元素
List<Element> list = root.elements();

//System.out.println(list.size());  
//list.forEach( s -> System.out.println(s));  

//for(Element e1: list){
//    List<Element> list2 = e1.elements();
//   for(Element e2 : list2){
//        System.out.println(e2.getName()+":"+e2.getData());
//    }
//} 

for(Element e1 : list){
    Attribute type = e1.attribute("type");
    System.out.println(type.getValue());
}

添加元素:

// 创建元素(节点)
Element student = root.addElement("student");
Element id = student.addElement("id");
id.setText("3");
Element name = student.addElement("name");
name.setText("curry");
Element age = student.addElement("age");
age.setText("30");

//写入xml文件中
FileOutputStream fos = new FileOutputStream(new File("D:/xx.xml"));
OutputFormat format = new OutputFormat("\t\n",true,"UTF-8");
XMLWriter xw = new XMLWriter(out,format);

//将整个文档对象写入文件中
xw.write(doc);
System.out.println("写入成功!");
xw.close();

Xpath:
xml文件 path路径 :

  1. xpath是一门在xml文档中快速查找信息的方式
  2. 单纯的使用dom4j访问节点时,需要一层一层的处理,如果有了xpath,访问层级的节点就简单了
  3. 使用xpath需要引包: jaxen-1.1-beta-7.jar