zoukankan      html  css  js  c++  java
  • 使用Dom4j读取指定文件,并写入指定文件

    导入dom4j的包,然后写入代码如下




    package
    com.dom4j.cn; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.junit.Test; public class ChangeXML { /** * 把文件读取并且写到指定文件中 * @throws Exception */ @Test public void changeXML() throws Exception { Document document = new SAXReader().read("./src/test.xml"); //修改属性id document.getRootElement().element("shaoxin").attribute("id").setValue("003"); //删除属性id为002的节点 Element element =(Element) document.getRootElement().elements().get(1); element.detach(); FileOutputStream fileOutputStream = new FileOutputStream("C:/Users/shaoxin/Desktop/a.xml"); OutputFormat outputFormat = new OutputFormat().createPrettyPrint(); XMLWriter xmlWriter = new XMLWriter(fileOutputStream,outputFormat); outputFormat.setEncoding("utf-8"); xmlWriter.write(document); fileOutputStream.close(); } }
    package com.dom4j.cn;
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    import org.junit.Test;
    
    public class Dom_ChangeXML {
        /**
         * 创建各个节点并且保存在指定文件中
         */
        @Test
        public void changeXML() {
            Document document = DocumentHelper.createDocument();
            Element rootElement = document.addElement("people");
            Element shaoxin = rootElement.addElement("shaoxin");
            Element age = shaoxin.addElement("age");
            Element name = shaoxin.addElement("name");
            shaoxin.addAttribute("id", "001");
            age.addText("21");
            name.addText("邵欣");
            FileOutputStream fileOutputStream;
            try {
                fileOutputStream = new FileOutputStream("C:/Users/shaoxin/Desktop/a.xml");
                OutputFormat outputFormat = new OutputFormat().createPrettyPrint();
                outputFormat.setEncoding("utf-8");
                XMLWriter xmlWriter = new XMLWriter(fileOutputStream, outputFormat);
                xmlWriter.write(document);
                fileOutputStream.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        }
    
    }
    package com.dom4j.cn;
    
    import java.io.File;
    import java.util.Iterator;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.SAXReader;
    
    public class Dom_XML {
        /**
         * 输出文件中所有的节点名称
         * @param args
         */
            public static void main(String[] args) {
                SAXReader saxReader = new SAXReader();
                try {
                    Document document = saxReader.read(new File("./src/test.xml"));
                    Element element = document.getRootElement();
                    sax(element);
                    
                } catch (DocumentException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            public static void sax(Element element) {
                System.out.println(element.getName());
                Iterator<Node> node = element.nodeIterator();
                while(node.hasNext()){
                    Node node2 = node.next();
                    if (node2 instanceof Element) {
                        Element  element2 = (Element) node2;
                        sax(element2);
                    }
                }
            }
    }
  • 相关阅读:
    学习python -- 第018天 os模块
    学习python -- 第017天 文件读写
    重看算法 -- 动态规划 最大子段和问题
    重看算法 -- 递归与分治
    学习python -- 第016天 模块
    学习python -- 第016天 浅拷贝和深拷贝
    网络字节序、主机字节序(摘抄)
    C++/C常量
    结构化程序设计
    循环(高质量4.10)
  • 原文地址:https://www.cnblogs.com/ShaoXin/p/6825311.html
Copyright © 2011-2022 走看看