使用dom4j来解析xml文件的基本操作

package dom4j;




import java.io.File;
import java.io.FileWriter;


import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;


public class TestDom4j {


/*

* <书架>
  <书>
     <书名>水浒传</书名>
     <作者>吴承恩</作者>
     <价格>12</价格>
  </书>
  <书>
     <书名>三国演义</书名>
     <作者>罗贯中</作者>
     <价格>33</价格>
  </书>
</书架>
* */

@Test
public void read() throws DocumentException{
SAXReader reader=new SAXReader();
Document document=reader.read(new File("src/book.xml"));

Element root=document.getRootElement();

Element book=(Element) root.elements().get(0);
Element element=book.element("作者");
System.out.println(element.getText());
}
@Test
public void readAttr() throws DocumentException{
SAXReader reader=new SAXReader();
Document document=reader.read(new File("src/book.xml"));

Element root=document.getRootElement();

Element book=(Element) root.elements().get(0);
Element element=book.element("作者");
Attribute arrt= element.attribute("age");
System.out.println(arrt.getName()+"  "+arrt.getText());
}

//往xml文档添加一行《售价》208《/售价》
@Test
public void add() throws Exception{
SAXReader reader=new SAXReader();
Document document=reader.read(new File("src/book.xml"));
//添加新的节点
Element root=document.getRootElement();
root.element("书").addElement("售价").setText("208");

//将内存中的对象刷新到文档中去
XMLWriter writer=new XMLWriter(new FileWriter("src/book.xml"));
writer.write(document);
writer.close();


}
}

你可能感兴趣的:(java,xml,dom4j)