用dom4j解析xml文件并执行增删改查操作
来源:互联网 发布:淘宝和京东 编辑:程序博客网 时间:2024/06/05 00:53
xml文件:<?xml version="1.0" encoding="GBK"?><phoneinfo> <brand name="小米" id="1"> <type name="MI5"/> <type name="NOTE"/> <type name="MI5S"/> </brand> <brand name="华为" id="2"> <type name="荣耀8"/> <type name="荣耀8plus"/> </brand> <brand name="苹果" id="3"> <type name="iphone7"/> <type1 name="iphone6"/> </brand></phoneinfo>用dom4j解析xml文件package com.hfxt;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;//dom4j解析xml并且执行(增、删、改、查)操作public class dom4jXmlDemo {private Document document;public static void main(String[] args){dom4jXmlDemo domXml = new dom4jXmlDemo();domXml.getDom();domXml.addPhoneInfo();domXml.updatePhoneInfo();//domXml.deletePhoneInfo();domXml.showPhoneInfo();}//获取DOM树public void getDom(){SAXReader reader = new SAXReader();try {document = reader.read(new File("phoneinfo.xml"));} catch (DocumentException e) {e.printStackTrace();}}//增加手机信息public void addPhoneInfo(){//获取根节点元素Element element = document.getRootElement();//添加brand节点Element brand = element.addElement("brand");//为brand添加属性并且赋值brand.addAttribute("name","苹果");//添加type节点Element type = brand.addElement("type");Element type1 = brand.addElement("type1");//为type节点添加name属性并且赋值type.addAttribute("name","iphone7");type1.addAttribute("name","iphone6");saveXml("phoneinfo.xml");}//删除手机信息public void deletePhoneInfo(){//获取根节点Element element = document.getRootElement();Iterator brand = element.elementIterator();//遍历获取每个节点信息while(brand.hasNext()){Element eleBrand = (Element)brand.next();//删除name为苹果的brandif(eleBrand.attributeValue("name").equals("苹果")){eleBrand.getParent().remove(eleBrand);}}//保存信息saveXml("phoneinfo.xml");}//修改手机信息public void updatePhoneInfo(){//获取手机信息Element element = document.getRootElement();Iterator brand = element.elementIterator();int id = 0;while(brand.hasNext()){Element eleBrand = (Element)brand.next();id++;eleBrand.addAttribute("id",id+"");}saveXml("phoneinfo.xml");}//显示手机信息public void showPhoneInfo(){//获取根节点Element element = document.getRootElement();Iterator brand = element.elementIterator();while(brand.hasNext()){Element eleBrand = (Element)brand.next();//根据name属性获取对应的值的名字System.out.println(eleBrand.attributeValue("name"));//获取type节点Iterator type = eleBrand.elementIterator();//遍历所有type节点while(type.hasNext()){Element eleType = (Element)type.next();System.out.println("\t"+eleType.attributeValue("name"));}}}//保存信息到xmlpublic void saveXml(String path){//格式化OutputFormat format = OutputFormat.createPrettyPrint();//指定字符编码格式format.setEncoding("GBK");XMLWriter writer = null;//将文件按照指定格式输出到指定路径中try {writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(path)),format);writer.write(document);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {//关闭服务writer.close();} catch (IOException e) {e.printStackTrace();}}}}
0 0
- 用dom4j解析xml文件并执行增删改查操作
- 用dom4j解析xml文件并执行增删改查操作
- dom4j解析xml增删改查
- dom4j解析XML之【增删改查】
- 解析XML文件并且进行增删改查操作
- dom4j解析xml文档(增删查改)
- DOM4j 解析xml文档,完成增删改查
- 使用dom4j解析xml与增删改查
- 使用dom4j操作xml实现增删改查
- Dom4j对XML文档的增删改查操作
- java操作xml之dom4j的增删改查
- java 使用DOM4J对XML文件进行增删改查操作
- XML文件操作,新建,增删改查
- 使用dom4j对XML文件进行增删改查
- simpleXML怎样解析一个xml文件,并对xml进行增删改查 过程
- Dom4j 对XML增删改查
- XML(五)dom4j增删改查
- DOM4J的使用(DOM4J对XML的解析即增删改查)
- nRF52832 Power II 需核对
- http缓存
- TCP与UDP的区别
- Jasmine
- Bootstrap 学习之 (十一) ------ 分页
- 用dom4j解析xml文件并执行增删改查操作
- mysql数据表建立从表,使用外键时.删除从表数据,设置外键属性方能删除
- rpm 查询安装包
- 百川云旺客服申请测试流程
- 工作记录
- 扩大tomcat内存
- javaScript高级特性(类比JAVA理解javaScript)
- C++学习(0)之vector
- c++ 设计模式之外观模式