1. 程式人生 > 其它 >dom4j回寫.xml檔案內容及美化格式

dom4j回寫.xml檔案內容及美化格式

SAXReader reader = new SAXReader();   //獲得解析器
        Document document = reader.read(new FileInputStream("chatserver\\src\\admins.xml"));  //讀取檔案
        org.dom4j.Element rootElement = document.getRootElement();  //獲得根元素
        Element e1 = rootElement.addElement("user");       //新增元素
        e1.addAttribute("isAdmin", "false");            //新增屬性
        e1.addElement("userName").addText(name);    //新增標籤和內容
        e1.addElement("sex").addText(sex);
        e1.addElement("ip").addText(ip);
        e1.addElement("age").addText(ageStr);
        
        
        FileOutputStream fos = new FileOutputStream("chatserver\\src\\admins.xml",false);
        OutputStreamWriter osw = new OutputStreamWriter(fos);
        OutputFormat format = new OutputFormat();  //格式
        
        format.setEncoding("UTF-8");  //編碼格式
        format.setIndent(true);//設定縮排
        //format.setIndent("    ");      
        format.setTrimText(true);  //先移除縮排外的空白部分,
        format.setNewlines(true);  //再換行
        format.setPadText(true);
        XMLWriter writer = new XMLWriter(osw, format);  //獲得編輯器
        writer.write(document);              //寫入檔案
        writer.flush();

主要的美化格式程式碼:

format.setIndent(true);//設定縮排
format.setTrimText(true); //移除除縮排外的空白部分
format.setNewlines(true);  //換行

接下來演示一下只有下面兩句程式碼的情況下效果:

format.setIndent(true);//設定縮排 format.setTrimText(true); //移除除縮排外的空白部分

可以看出所有的子標籤都在一行,所以必須format.setNewlines(true); //換行