首页 > 代码库 > DOM4J解析xml(CURD)
DOM4J解析xml(CURD)
public class CURDTest { public static void main(String[] args) throws Exception { //获得document //获得解析流 SAXReader reader = new SAXReader(); //解析xml Document 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("凤姐玉照"); //添加到newbook newBook.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(); //解析xml Document document = reader.read("books.xml"); //删除 b002 Node 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(); //解析xml Document document = reader.read("books.xml"); //修改 b002 price 100 Node 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");
DOM4J解析xml(CURD)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。