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> }