dom4j回寫.xml檔案內容及美化格式
阿新 • • 發佈:2021-05-04
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); //換行