需要引入dom4j的包肯定都知道
xml格式爲這種
<?xml version="1.0" encoding="UTF-8"?>
<fileinfo>
<file name="asdasd.txt" md5="d41d8cd98f00b204e9800998ecf8427e" size="0"/>
<file name="fileinfo.xml" md5="ef2c6bb332bb747b07016e899dc71e4f" size="383"/>
<file name="wqeq.txt" md5="230cfbfefe3dde3447bc8ea34e4412ad" size="156"/>
<file name="wwww.txt" md5="a8f5f167f44f4964e6c998dee827110c" size="6"/>
</fileinfo>
解析並寫入
SAXReader reader=new SAXReader();//創建解析對象
Document document=reader.read(new File(xml));//將文件解析爲document對象
Element root=document.getRootElement();//獲取根節點
List<Element> listElement=root.elements();//獲取root下一級所有子節點
for(Element ele:lisElement){
List<Attribute> attrs=ele.attributes();
for(Attribute attr:attrs){
switch (attr.getName){
case "md5":
if(attr.getValue().equals("xxxx")){
ele.addAttribute("name","zzz");添加屬性
}
break;
deafult:
break:
}
}
}
FileOutputStream out=new FileOutputStream(xmlPath);//重新輸出將添加的屬性寫進去
OutputFormat format=OutputFormat.createPrettyPrint();//設置格式
format.setEncoding("utf-8");
XMLWriter writer=new XMLWriter(out,format);//以xml格式輸出
writer.writer(document);
writer.close();//關閉流
創建xml
Element root = DocumentHelper.createElement("fileinfo");Document document = DocumentHelper.createDocument(root);
Element element = root.addElement("file");
String name= file.getOriginalFilename();
if(fileInfo.getFileDir()!=null&&!fileInfo.getFileDir().equals("")){
name=fileInfo.getFileDir()+"\\"+ file.getOriginalFilename();
}
element.addAttribute("name", name).addAttribute("md5", md5).addAttribute("size",size);
FileOutputStream out =new FileOutputStream(xmlPath);
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(out,format);
writer.write(document);
writer.close();