Dom4j增加,修改,删除XML文件

来源:互联网 发布:知识图谱构建 python 编辑:程序博客网 时间:2024/05/16 02:15

一.如何配置Dom4j

xml解析: 点击查看

二.修改项目类内容

  • 1.)增加:文档,标签,属性
  • 2.)修改:属性值,文本
  • 3.)删除:标签,属性
1.)增加:文档,标签,属性
a.创建文本write.xml
//创建文本       Document doc = DocumentHelper.createDocument();
b.创建标签
// 创建标签        Element rootElem=doc.addElement("contactList");//创建根标签        Element contElem = rootElem.addElement("cotact");创建子标签        contElem.addAttribute("id","001");//增加属性        Element nameElme = contElem.addElement("name");//增加子标签        nameElme.addText("张三");//添加姓名        rootElem.addElement("cotact");//添加标签
c.把创建的Document对象写到xml文件
//3把创建的Document对象写到xml文件        //指定文件输出位置        FileOutputStream out = new FileOutputStream("./src/write.xml");        //OutputFormat format = OutputFormat.createCompactFormat();//生成物理文件,布局较乱适合电脑        OutputFormat format = OutputFormat.createPrettyPrint();//标准化布局,适合查看时显示。        //1.创建写入文件        format.setEncoding("utf-8");//指定文件格式         XMLWriter writer = new XMLWriter(out,format);        writer.write(doc);//写入文件        System.out.println("写入成功");        writer.close();

结果如下:

增加:文本,标签,属性

2.)修改:属性值,文本

#####注意:修改xml源文件one.xml;将修改的内容写入write.xml

<?xml version="1.0" encoding="UTF-8"?><contactList>    <contact id="1">        <name>某某</name>        <age>20</age>        <phone>15426354785</phone>        <qq>1024557455</qq>    </contact>    <contact id="2">        <name>张三</name>        <age>44</age>        <phone>17854213658</phone>        <qq>1024532584</qq>    </contact></contactList>
a.修改属性值

方案一:

//修改属性值第一个id改为“003”        Document doc = new SAXReader().read("./src/one.xml");//得到标签对象        Element contEle = doc.getRootElement().element("contact");//得到属性对象        Attribute idAtt = contEle.attribute("id");        idAtt.setValue("003");

方案一:修改xml源文件one.xml;将修改的内容写入write.xml

方案二:

//修改属性值第一个id改为“004”        //Element contEle2 = doc.getRootElement().element("contact");   //得到属性对象        //contEle2.addAttribute("id", "004");

方案二:修改xml源文件one.xml;将修改的内容写入write.xml

b.修改文本
// 修改文本  1得到标签,2修改文本 将第一个name值修改为张飞        Element nameEle = doc.getRootElement().element("contact").element("name");        nameEle.setText("张飞");

修改文本将第一个name值修改为张飞

3.)删除:标签,属性

#####注意:删除xml源文件one.xml内容;将删除后的内容写入write.xml

<?xml version="1.0" encoding="UTF-8"?><contactList>    <contact id="1">        <name>某某</name>        <age>20</age>        <phone>15426354785</phone>        <qq>1024557455</qq>    </contact>    <contact id="2">        <name>张三</name>        <age>44</age>        <phone>17854213658</phone>        <qq>1024532584</qq>    </contact></contactList>
a.删除标签

方案一:

//删除第一个age标签    Element agename = doc.getRootElement().element("contact").element("age");//1.得到标签    agename.detach();//删除标签

方案二:

//删除第一个age标签    Element agename = doc.getRootElement().element("contact").element("age");//1.得到标签   agename.getParent().remove(agename);//获得该标签的父标签,然后在删除其子标签

删除第一个age标签

b.删除属性

方案一:

//删除第2个id   Element contEle = (Element) doc.getRootElement().elements().get(1);   //得到属性对象   Attribute idatt= contEle.attribute("id");   //方法一   idatt.detach();//删除属性

方案二:

//删除第2个id属性  Element contEle = (Element) doc.getRootElement().elements().get(1);  //得到属性对象  Attribute idatt= contEle.attribute("id");  idatt.getParent().remove(idatt);

删除第2个id属性

0 0
原创粉丝点击