dom4j 解析xml 并且进行增加,删除 操作后重新生成xml文件
来源:互联网 发布:mac上安装apt get 编辑:程序博客网 时间:2024/05/29 17:39
package Bean;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class testXml { public static void main(String[] args) throws DocumentException, IOException { XMLWriter xmlwriter = null; OutputStream out = null; //这个xml字符串我只是举个例子说明她的格式 你们不用管 String xml = "<config>\n" + " <htmlExtensions>html,htm,xml,js</htmlExtensions>\n" + " <hideFolders>\n" + " <folder>.*</folder>\n" + " <folder>CVS</folder>\n" + " </hideFolders>\n" + " <hideFiles>\n" + " <file>.*</file>\n" + " </hideFiles>\n" + " <defaultResourceTypes></defaultResourceTypes>\n" + " <types>\n" + " <type name=\"files\">\n" + " <url>%BASE_URL%files/</url>\n" + " <directory>%BASE_DIR%files</directory>\n" + " <maxSize>5M</maxSize>\n" + " <allowedExtensions>7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip</allowedExtensions>\n" + " <deniedExtensions></deniedExtensions>\n" + " </type>\n" + " <type name=\"images\">\n" + " <url>%BASE_URL%images/</url>\n" + " <directory>%BASE_DIR%images</directory>\n" + " <maxSize>2M</maxSize>\n" + " <allowedExtensions>bmp,gif,jpeg,jpg,png</allowedExtensions>\n" + " <deniedExtensions></deniedExtensions>\n" + " </type>\n" + " \n" + " </types>\n" + " \n" + "</config>"; //这个路径可以指定自己的路径 随意 String XML_FILE = "D:\\360Downloads\\aaa.xml"; SAXReader sax = new SAXReader(); Document document = sax.read(new FileInputStream(XML_FILE)); //你得先得到根节点 Element root = document.getRootElement(); //然后得到根节点下指定名称的节点 例如“types” List<Element> elements = root.elements("types"); for(Element e : elements){ e.detach();//循环删除那个types节点里的type节点 } Element loaded = DocumentHelper.createElement("types"); //这个就简单了 创建节点然后添加属性 <type name="45" ></type>参考上面的xml字符串 Element dict = DocumentHelper.createElement("type"); dict.addAttribute("name", "45"); Element url = DocumentHelper.createElement("url"); url.setText("%BASE_URL%45/"); Element directory = DocumentHelper.createElement("directory"); directory.setText("%BASE_DIR%45"); Element maxSize = DocumentHelper.createElement("maxSize"); maxSize.setText("5M"); Element allowedExtensions = DocumentHelper.createElement("allowedExtensions"); allowedExtensions.setText("7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip");//创建完节点后一得一步一步的添加上去 所以得一点一点的add Element deniedExtensions = DocumentHelper.createElement("deniedExtensions"); deniedExtensions.setText(""); dict.add(url); dict.add(directory); dict.add(maxSize); dict.add(allowedExtensions); dict.add(deniedExtensions); loaded.add(dict); root.add(loaded); //这句wangxia 就是把更改好的xml文件在输出到本地硬盘中生成一个新的xml文件了 OutputFormat outformat = new OutputFormat(); outformat.setEncoding("UTF-8"); outformat.setNewlines(true); outformat.setIndent(true); outformat.setTrimText(true); String rootPath = System.getProperty("user.dir"); out = new FileOutputStream("D:\\360Downloads\\aaa.xml" ); xmlwriter = new XMLWriter(out, outformat); xmlwriter.write(document); }}
这些代码实现的功能 主要是把xml文件读出来 ,进行节点的添加,删除,然后再重新生成新的xml文件覆盖原来的xml文件 因为这次吧 主要是因为ckfinder这个B插件 ,我得动态的改变他的ckfinder.xml配置文件所以才出此下策 ,我奉劝各位不要用这个B插件都不够上火的 ,真的 还不是假的 我这两天都他妈的改懵B了 真的
阅读全文
0 0
- dom4j 解析xml 并且进行增加,删除 操作后重新生成xml文件
- dom4j生成,解析xml文件
- Dom4j解析、生成XML文件
- dom4j生成xml文件,解析后出现中文乱码问题
- Dom4j增加,修改,删除XML文件
- Dom4j增加,修改,删除XML文件
- 解析XML文件并且进行增删改查操作
- dom4j生成/解析XML
- dom4j 生成 xml ,解析xml
- 使用dom4j来解析,生成xml文件
- dom4j生成和解析xml文件
- dom4j解析、修改、生成xml文件(转)
- dom4j 解析、修改、生成XML 文件
- dom4j解析、修改、生成xml文件
- dom4j生成和解析xml文件
- java 生成 解析XML 文件 Dom4J
- dom4j解析和生成XML文件
- dom4j 生成并解析xml文件
- 51Nod-1091 线段的重叠【排序】
- Java中Set的使用
- NSNotification
- CodeForces
- 轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
- dom4j 解析xml 并且进行增加,删除 操作后重新生成xml文件
- codeforces 490-C. Hacking Cypher(暴力)
- 新手上路之oracle 视图 索引(了解)笔记
- Redis单机版安装
- PHP系列—安装与配置(完全源码安装)
- 设计模式-代理模式
- 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs
- 读Qt示例之Modbus Master example(一)
- 移动页面的真机测试