dom4j創建xml文件,解析xml,寫入xml文件,遍歷xml文件

需要引入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();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章