java利用dom4j解析XML文件
来源:互联网 发布:linux 源码安装lnmp 编辑:程序博客网 时间:2024/05/17 04:13
public class XML_dom4j {static String path = "123.xml";public static void main(String[] args) throws Exception {XML_dom4j x = new XML_dom4j();x.loadDocument();//x.add();//x.update();x.del();x.queryAll();//x.save("123.xml");}Document doc = null;/** * 加载dom * @throws Exception */public void loadDocument() throws Exception{//获取根节点SAXReader saxReader = new SAXReader();doc = saxReader.read("123.xml");}/** * 查询所有节点 */@SuppressWarnings("unchecked")public void queryAll(){Element el = doc.getRootElement();Iterator<Element> it = el.elementIterator();while(it.hasNext()){Element brandE = (Element)it.next();String brandStr = brandE.attributeValue("name");Iterator<Element> i = brandE.elementIterator();while(i.hasNext()){Element typeE = (Element)i.next();String typeStr = typeE.attributeValue("name");System.out.println("品牌:"+brandStr+",型号:"+typeStr);}}}/** * 增加节点 */public void add(){//获取根节点Element rootE = doc.getRootElement();//创建根节点 设置属性Element brandE = rootE.addElement("Brand").addAttribute("name", "三星");//创建type节点 设置属性brandE.addElement("type").addAttribute("name", "note4");}/** * 修改节点 */@SuppressWarnings("unchecked")public void update(){Element rootE = doc.getRootElement();Iterator<Element> it = rootE.elementIterator();int i = 0;while(it.hasNext()){Element brandE = it.next();brandE.addAttribute("id", i+"");//修改属性值//if(brandE.attributeValue("name").equals("三星")){//brandE.setAttributeValue("name", "SANSUNG");//}}this.save(path);}/** * 删除节点 */@SuppressWarnings("unchecked")public void del(){Element rootE = doc.getRootElement();Iterator<Element> brandIt = rootE.elementIterator();while(brandIt.hasNext()){Element brandE = brandIt.next();if(brandE.attributeValue("name").equals("SANSUNG")){brandE.getParent().remove(brandE);}}this.save(path);}/** * 保存节点 */public void save(String path){//格式转换器OutputFormat format = OutputFormat.createPrettyPrint();//设置编码格式format.setEncoding("UTF-8");try {PrintWriter pw = new PrintWriter(path, "UTF-8");XMLWriter writer = new XMLWriter(pw, format);writer.write(doc);writer.close();} catch (IOException e) {e.printStackTrace();}}}v
XML文件信息如下:
<?xml version="1.0" encoding="UTF-8"?><PhoneInfo> <Brand name="华为" id="0"> <type name="P9"/> </Brand> <Brand name="苹果" id="0"> <type name="Iphone6"/> <type name="Iphone7"/> </Brand> </PhoneInfo>
阅读全文
0 0
- java 利用dom4j 解析XML文件
- java利用dom4j解析XML文件
- 利用dom4j解析xml文件
- 利用Dom4j 解析XML文件
- 黑马程序员_王康 java利用DOM4J解析XML文件
- Java DOM4J解析XML文件
- java dom4j解析xml文件
- 《JavaWeb----利用dom4j解析xml文件》
- 利用dom4j解析XML
- 利用dom4j解析xml
- 利用dom4j解析xml
- Java 解析 XML 文件之 DOM4J 解析
- java 利用dom4j 操作XML文件
- java通过dom4j解析xml文件
- java dom4j 解析XML文件 简易教程
- java 生成 解析XML 文件 Dom4J
- Java——DOM4J解析XML文件
- Java DOM4J 方式解析XML文件
- C++学习笔记第一天
- 大学工会组织综合信息管理系统JAVA
- 国内Ubuntu下载地址
- Maven -- 在进行war打包时排除不需要的文件
- PRML读书笔记(1)——第三章 线性回归模型
- java利用dom4j解析XML文件
- 欢迎使用CSDN-markdown编辑器
- Ajax 页面一闪而过
- absolute paths not recommended in jsps
- 开博
- HDU 6119 小小粉丝度度熊(尺取)
- element ui下拉组件command传输对象
- 21. Merge Two Sorted Lists
- org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.