DOM4J操作XML

1.     关于XML配置文件的操作,应用技术为DOM4J

1 xml文件的生成:

   首先构建document对象

DocumentFactory  factory = DocumentFactory.getInstance();

           Document  document = factory.createDocument();

   建立根元素(document.addElement(‘temp’)

Element  Gather_Monitor = document.addElement("Gather_Monitor");

   为元素添加属性(temp.addAttribtute(‘temp1’))

Gather_Monitor.addAttribute("gather_name", "0");

Gather_Monitor.addAttribute("gather_monitor", "1");

Gather_Monitor.addAttribute("gather_id", "0");

为元素添加子元素并添加属性和值

Element Dock_Config = Gather_Monitor.addElement("Dock_Config"); 

Element RFID_Reard = Dock_Config.addElement("RFID_Reard");

  RFID_Reard.addAttribute("reader_port1", Read_Port1);

  RFID_Reard.addAttribute("reader_port2", Read_Port2);

RFID_Reard.addAttribute("reader_port3", Read_Port3);

  RFID_Reard.addAttribute("reader_port4", Read_Port4);

为元素添加子元素和值

           Element Reader_Typep = RFID_Reard.addElement("Reader_Type");

           Reader_Typep.addText(Reader_Type1);                           

           Element Reader_IPp = RFID_Reard.addElement("Reader_IP");

           Reader_IPp.addText(Reader_IP1);

            XML文件转化为字符串

strxml = document.asXML();

//写入xml文件

OutputFormat format= OutputFormat.createPrettyPrint();//美化格式

format.setEncoding("GBK");//设置字符编码

//request.getSession().getServletContext().getRealPath("/WEB-INF/upload") //得到web-inf路径

XMLWriter  write = new  XMLWriter(new FileWriter(new File("e:/second.xml")),format);

write.write(document);

write.flush();

write.close();

System.out.println("创建second.xml完毕!");

 

2XML文件的修改

         SAXReader reader = new SAXReader(); //读取文件

         Document document = reader.read("second.xml");

获得相应目录下

List<Element> e = document.selectNodes("Gather_Monitor/Lock_Gate_Config/RFID_Reard");

 

for(Element element : e){

      Attribute attribute=element.attribute("reader_port1");

            attribute.setValue("true");          /**修改实现*/

 

      Attribute attribute1 = element.attribute("reader_port2");

            attribute1.setValue("true");

           

             System.out.print("修改成功!!!!"+document.asXML());

    }

写入更改好的xml

                   //写入xml文件

      OutputFormat format = OutputFormat.createPrettyPrint();

      format.setEncoding("GBK");

XMLWriter xml = new XMLWriter(new FileWriter(new File("second.xml")),format);

      xml.write(document);

      xml.flush();

      xml.close();

      System.out.println("更新文件成功!");

3XML文件的查看

String xmlStr = "<?xml version='1.0'encoding='UTF-8'?><Gath。。。

//直接读取.xml文件

//SAXReader reader =new SAXReader();

//Document document = reader.read("second.xml");

//将字符串转化为xml格式

Document document = DocumentHelper.parseText(xmlStr);

 

List<Element> list0 = document.selectNodes("Gather_Monitor/Lock_Gate_Config/RFID_Reard/Reader_Type");

      for (Element element : list0) {

         String Reader_Type = element.getText();<>temp<>

String Vehicle_Check_port_number = element1.attributeValue("port_number");<temp>                 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值