您的位置:首页 > 其它

dom4j创建xml文件,解析xml,写入xml文件,遍历xml文件

2018-01-10 22:02 555 查看
需要引入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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: