如何用最简单的方法删除xml文件下指定节点的全部内容
1个回答
展开全部
InputStream is = new FileInputStream("D://dom4j.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(is);
doc.normalize();
Node node = doc.selectSingleNode("/datas/*");//查找datas下的第一个子结点的内空
node.getParent().remove(node);
OutputFormat outformat = OutputFormat.createPrettyPrint();
// xml自身的编码
outformat.setEncoding(doc.getXMLEncoding());
outformat.setIndent(true);
File targetFile = new File("D:/dom4j3.xml");
// 将xmlStr输出到目标路径,使用xml文件的头文件编码
OutputStream out = new FileOutputStream(targetFile);
XMLWriter writer = new XMLWriter(out, outformat);
// 是否转义特殊字符,默认true转义,false表示不转义
writer.setEscapeText(false);
writer.write(doc);
writer.flush();
SAXReader reader = new SAXReader();
Document doc = reader.read(is);
doc.normalize();
Node node = doc.selectSingleNode("/datas/*");//查找datas下的第一个子结点的内空
node.getParent().remove(node);
OutputFormat outformat = OutputFormat.createPrettyPrint();
// xml自身的编码
outformat.setEncoding(doc.getXMLEncoding());
outformat.setIndent(true);
File targetFile = new File("D:/dom4j3.xml");
// 将xmlStr输出到目标路径,使用xml文件的头文件编码
OutputStream out = new FileOutputStream(targetFile);
XMLWriter writer = new XMLWriter(out, outformat);
// 是否转义特殊字符,默认true转义,false表示不转义
writer.setEscapeText(false);
writer.write(doc);
writer.flush();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询