// 建立XML public static void gernatorXML() { // 創(chuàng)建Document對(duì)象 Document doc = DocumentHelper.createDocument(); // 創(chuàng)建根節(jié)點(diǎn)students Element studentsElement = doc.addElement("students"); // 創(chuàng)建子節(jié)點(diǎn)student Element studentElement1 = studentsElement.addElement("student"); // 添加ID屬性 studentElement1.addAttribute("id", "1001"); // 添加子節(jié)點(diǎn) studentElement1.addElement("name").setText("張三"); studentElement1.addElement("age").setText("18"); studentElement1.addElement("sex").setText("男"); studentElement1.addElement("phone").setText("13800138000"); studentElement1.addElement("address").setText("深圳寶安"); // 再創(chuàng)建同樣的2個(gè)student節(jié)點(diǎn) Element studentElement2 = studentsElement.addElement("student"); // 添加ID屬性 studentElement2.addAttribute("id", "10012"); // 添加子節(jié)點(diǎn) studentElement2.addElement("name").setText("李四"); studentElement2.addElement("age").setText("19"); studentElement2.addElement("sex").setText("女"); studentElement2.addElement("phone").setText("13412369854"); studentElement2.addElement("address").setText("上海"); // 再創(chuàng)建同樣的2個(gè)student節(jié)點(diǎn) Element studentElement3 = studentsElement.addElement("student"); // 添加ID屬性 studentElement3.addAttribute("id", "10013"); // 添加子節(jié)點(diǎn) studentElement3.addElement("name").setText("王五"); studentElement3.addElement("age").setText("25"); studentElement3.addElement("sex").setText("女"); studentElement3.addElement("phone").setText("13410110104"); studentElement3.addElement("address").setText("廣東"); try { // 創(chuàng)建XML 將Document寫(xiě)入XML // 設(shè)置格式 OutputFormat format = OutputFormat.createPRettyPrint(); // 設(shè)置字符編碼也可以設(shè)置為gb2312或者gbk format.setEncoding("utf-8"); // 輸入 XMLWriter writer = new XMLWriter( new FileWriter("xml/students.xml"), format); // 寫(xiě)入文檔 writer.write(doc); // 關(guān)閉流 writer.close(); // 輸出提示 System.out.println("======寫(xiě)入成功======="); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }二、解析XML
// 讀取XML public static void getXML() { try { // 讀取XML SAXReader reader = new SAXReader(); Document doc = reader.read("xml/students.xml"); // 獲取根節(jié)點(diǎn) Element root = doc.getRootElement(); // 獲取子節(jié)點(diǎn)集合 List<Element> stulList = root.elements(); // 遍歷 for (Element ele : stulList) { // 獲取屬性 String id = ele.attributeValue("id"); System.out.println("學(xué)生ID: " + id); // 獲取子節(jié)點(diǎn)的文本內(nèi)容 name String name = ele.elementText("name"); // age年齡 String age = ele.elementText("age"); // sex String sex = ele.elementTextTrim("sex"); // phone String phone = ele.elementTextTrim("phone"); // address String address = ele.elementTextTrim("address"); System.out.println("姓名:" + name + "/t年齡: " + age + "/t 性別: " + sex + "/t/t電話:" + phone + "/t/t地址: " + address); } } catch (DocumentException e) { e.printStackTrace(); } }三、增加節(jié)點(diǎn)
//增加新的節(jié)點(diǎn) public static void addXML(){ try { //讀取XML創(chuàng)建解析器 SAXReader reader=new SAXReader(); //創(chuàng)建Document對(duì)象 Document doc=reader.read("xml/students.xml"); //獲取根節(jié)點(diǎn) Element root=doc.getRootElement(); //創(chuàng)建新的節(jié)點(diǎn) Element student=root.addElement("student"); //添加屬性 student.addAttribute("id", "10020"); //創(chuàng)建子節(jié)點(diǎn) student.addElement("name").setText("張三豐"); student.addElement("age").setText("108"); student.addElement("sex").setText("男"); student.addElement("phone").setText("13800138001"); student.addElement("address").setText("武當(dāng)山"); //寫(xiě)入XML //設(shè)置字符編碼和格式 OutputFormat format=new OutputFormat(); format.setEncoding("utf-8"); //創(chuàng)建輸出流 XMLWriter writer=new XMLWriter(new FileWriter("xml/students.xml"), format); //寫(xiě)入Document writer.write(doc); //關(guān)閉流 writer.close(); //給出提示 System.out.println("======增加成功======="); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }四、修改節(jié)點(diǎn)
//修改節(jié)點(diǎn)內(nèi)容根據(jù) id10013將王五的姓名=王小五,年齡30,性別:男,電話:138000138000,地址:北京 public static void modify(){ try { //創(chuàng)建SAXReader解析器 SAXReader reader=new SAXReader(); //創(chuàng)建Document Document doc=reader.read("xml/students.xml"); //找到根節(jié)點(diǎn) Element root=doc.getRootElement(); //子節(jié)點(diǎn)集合 List<Element> studentList=root.elements(); //遍歷查找 for (Element ele : studentList) { if(ele.attributeValue("id").equals("10013")){ ele.element("name").setText("王小五"); ele.element("age").setText("30"); ele.element("sex").setText("男"); ele.element("phone").setText("138000138000"); ele.element("address").setText("北京"); } } //寫(xiě)入XML //設(shè)置字符格式和編碼 OutputFormat format=new OutputFormat(); format.setEncoding("utf-8"); XMLWriter writer=new XMLWriter(new FileWriter("xml/students.xml"), format); //將Document寫(xiě)入 writer.write(doc); //關(guān)閉流 writer.close(); //給出提示 System.out.println("====修改成功===="); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }五、刪除節(jié)點(diǎn)XML
/刪除節(jié)點(diǎn) 刪除王小五的節(jié)點(diǎn) public static void delete(){ try { //創(chuàng)建SAXReader 解析器 SAXReader reader=new SAXReader(); //創(chuàng)建Document對(duì)象 Document doc=reader.read("xml/students.xml"); //獲取根節(jié)點(diǎn) Element root=doc.getRootElement(); //集合 List<Element> stuList=root.elements(); //遍歷 for (Element ele : stuList) { if(ele.attributeValue("id").equals("10013")){ //獲取父節(jié)點(diǎn),并刪除這個(gè)節(jié)點(diǎn) ele.getParent().remove(ele); } } //寫(xiě)入XML //設(shè)置字符編碼格式 OutputFormat format =new OutputFormat(); format.setEncoding("utf-8"); //輸出流 XMLWriter writer=new XMLWriter(new FileWriter("xml/students.xml"), format); writer.write(doc); writer.close(); System.out.println("===刪除成功==="); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注