国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Java從零開(kāi)始學(xué)四十三(DOM4j解析XML)

2019-11-14 23:39:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
java從零開(kāi)始學(xué)四十三(DOM4j解析xml)一、創(chuàng)建XML
// 建立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();        }    }


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广州市| 盐山县| 开江县| 牟定县| 巴中市| 西丰县| 略阳县| 东台市| 正定县| 乐陵市| 和平县| 甘德县| 延寿县| 青阳县| 漠河县| 密云县| 青铜峡市| 渝中区| 蒲江县| 井冈山市| 东乌珠穆沁旗| 富阳市| 武穴市| 特克斯县| 山丹县| 阿克| 屏南县| 疏附县| 岫岩| 塘沽区| 志丹县| 萨嘎县| 东阳市| 灵丘县| 乡宁县| 得荣县| 丹东市| 唐山市| 汪清县| 土默特左旗| 华宁县|