【XML】DOM4J解析xml(CURD)

来源:互联网 发布:mmd虎视眈眈镜头数据 编辑:程序博客网 时间:2024/06/05 13:23
public class CURDTest {public static void main(String[] args) throws Exception {//获得document//获得解析流SAXReader reader = new SAXReader();//解析xmlDocument document  = reader.read("books.xml");//获得根元素Element rootElement = document.getRootElement();//添加//创建book元素Element newBook = DocumentHelper.createElement("book");//创建book元素的id属性Attribute  idAttr = DocumentHelper.createAttribute(newBook, "id", "b004");//添加到book元素中newBook.add(idAttr);//创建title元素Element titleElement = DocumentHelper.createElement("title");//设置值titleElement.setText("凤姐玉照");//添加到newbooknewBook.add(titleElement);//将新book元素添加到root元素rootElement.add(newBook);//将document保存//持久化流//创建输出文件的位置FileOutputStream out = new FileOutputStream("books.dom4j.xml");XMLWriter writer = new XMLWriter(out);//添加内容对象writer.write(document);//关闭流writer.close();}public static void delete(String[] args) throws Exception {//获得document//获得解析流SAXReader reader = new SAXReader();//解析xmlDocument document  = reader.read("books.xml");//删除 b002Node bookNode = document.selectSingleNode("//book[@id='b002']");//获得父节点Node parent = bookNode.getParent();Element parentElement = (Element) parent;//删除操作parentElement.remove(bookNode);//将document保存//持久化流//创建输出文件的位置FileOutputStream out = new FileOutputStream("books.dom4j.xml");XMLWriter writer = new XMLWriter(out);//添加内容对象writer.write(document);//关闭流writer.close();}public static void update(String[] args) throws Exception {//获得document//获得解析流SAXReader reader = new SAXReader();//解析xmlDocument document  = reader.read("books.xml");//修改 b002 price 100Node bookNode = document.selectSingleNode("//book[@id='b002']");//强转转换Element bookElement = (Element) bookNode;//通过指定的名称获得相应的元素Element priceElement = bookElement.element("price");//修改值//priceElement.getText();priceElement.setText("100");//将document保存//持久化流//创建输出文件的位置FileOutputStream out = new FileOutputStream("books.dom4j.xml");XMLWriter writer = new XMLWriter(out);//添加内容对象writer.write(document);//关闭流writer.close();}}



一、获得document
//获得解析流
SAXReader reader = new SAXReader();
//解析xml
Document document  = reader.read("books.xml");

二、保存
//创建输出文件的位置
FileOutputStream out = new FileOutputStream("books.dom4j.xml");

XMLWriter writer = new XMLWriter(out);
//添加内容对象
writer.write(document);
//关闭流
writer.close();

三、API
* 获得根元素
Element rootElement = document.getRootElement();
* 获得所有的子元素
List list = rootElement.elements();
* 获得指定的子元素
Element priceElement = bookElement.element("price");
* 获得指定属性的元素
Node bookNode = document.selectSingleNode("//book[@id='b002']");
* 设置文本
priceElement.setText("100");
* 获得节点的名称
child.getName()
* 获得指定名称的属性值
String id = bookElement.attributeValue("id");

0 0
原创粉丝点击