首页 > 学院 > 开发设计 > 正文

dom4j 复制xml文件/复制xml文件中选中节点到另一个xml文件

2019-11-08 03:23:01
字体:
来源:转载
供稿:网友
引入pom依赖:<dependency>   <groupId>dom4j</groupId>   <artifactId>dom4j</artifactId>   <version>1.6.1</version></dependency>1、xml文件复制:public void copyXml(String sourcefile,String destfile){try { File source = new File(sourcefile);if(source.exists() && source.isFile()){File dest=new File(destfile);if(dest.exists()){dest.delete();}dest.createNewFile();SAXReader saxReader=new SAXReader();Document document=saxReader.read(source);FileOutputStream outputStream=new FileOutputStream(destfile);//漂浪格式,有格式,有空格OutputFormat format=OutputFormat.createPRettyPrint();//紧凑格式,无空格换行//OutputFormat format=OutputFormat.createCompactFormat();format.setEncoding("UTF-8");XMLWriter writer=new XMLWriter(outputStream, format);writer.write(document);writer.close();} } catch (Exception e) {// TODO Auto-generated catch blockSystem.out.println("xml文件拷贝异常");e.printStackTrace();} }调用:copyXml("C:/test.xml", "C:/test_cp.xml");2、xml文件拷贝一个xml中某个节点到另一个xml文件public void copyNodeToOther(){//目标xml文件File resxmlfile=new File("C://Users//Administrator//Desktop//test//test.xml"); SAXReader reader2=new SAXReader();Document document2=reader2.read(resxmlfile);Element root2= document2.getRootElement();//源xml文件File batfile=new File("C://Users//Administrator//Desktop//test//test_bat.xml"); SAXReader reader=new SAXReader();Document document=reader.read(batfile);Element root= document.getRootElement();List<Element> scenelist=root.elements("scene");for(Element scenenode:scenelist){System.out.println("节点名称:"+scenenode.getName());Attribute attribute=scenenode.attribute("title");System.out.println(attribute.getName());System.out.println(attribute.getNodeTypeName());System.out.println(attribute.getValue());System.out.println(attribute.getQName());String val=attribute.getValue();if(val.startsWith("111_")){Element sceneClone=(Element) scenenode.clone();root2.add(sceneClone);} }FileOutputStream outputStream=new FileOutputStream(resxmlfile); OutputFormat format=OutputFormat.createPrettyPrint();format.setEncoding("UTF-8");XMLWriter writer=new XMLWriter(outputStream, format);writer.write(document);writer.close();}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表