03 xml 操作(增,刪,改)

常用操作:

添加: 文檔 標簽 屬性
修改: 屬性值,文本內(nèi)容
刪除: 標簽 屬性

public class Demo3 {
    public static void main(String[] args) throws  Exception {
        //add();        
        
        //edit();
        
        //-----刪除:
        Document doc = new SAXReader().read(new File("./src/contact.xml"));
        Element conElem = doc.getRootElement().element("contact");
        //conElem.detach(); //自殺
        //conElem.getParent().remove(conElem); //他殺
        

        //-> 刪除屬性
        Attribute idAttr = doc.getRootElement().element("contact").attribute("id");
        idAttr.detach();
        
        
        //:-----把文檔寫出到xml文件中
        OutputStream out = new FileOutputStream("e:/contact.xml");
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("utf-8");
        /*1.設(shè)置了xml文件的編碼
         *2.設(shè)置了xml文件保存時的編碼*/
        XMLWriter writer = new XMLWriter(out,format);
        writer.write(doc);
    }

    private static void edit() throws DocumentException, FileNotFoundException,
            UnsupportedEncodingException, IOException {
        Document doc = new SAXReader().read(new File("./src/contact.xml"));
        
        //------修改屬性
        //-> 先得到屬性對象,再調(diào)用方法修改屬性值
        /*Element conElem = doc.getRootElement().element("contact");
        Attribute idAttr = conElem.attribute("id");
        idAttr.setValue("003");*/
        
        
        //->在標簽中添加同名的屬性,覆蓋屬性值
        Element conElem = doc.getRootElement().element("contact");
        conElem.addAttribute("id", "004");
        
        //->修改文本
        Element nameElem = doc.getRootElement().element("contact").element("name");
        nameElem.setText("王五");

    }


    private static void add() throws FileNotFoundException,
            UnsupportedEncodingException, IOException {
        //:-----添加
        //-> 添加空文檔
        Document doc = DocumentHelper.createDocument();
        
        //-> 添加標簽
        Element conListElem = doc.addElement("contact-list");
        //doc.addElement("contact-list"); //不能添加兩個根標簽!!!

        Element conElem = conListElem.addElement("contact");
        conElem.addElement("name");
        
        //-> 添加屬性
        conElem.addAttribute("id", "001");
        conElem.addAttribute("name","eric");
        
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • HTML標簽解釋大全 一、HTML標記 標簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,329評論 1 41
  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,596評論 0 11
  • 作為一個不是什么985.211大學的一名極其普通的學生,可能自己的人生履歷不如那些學霸那么耀眼,但是我還是想說說我...
    小祖宗的白日夢閱讀 228評論 0 0
  • 說到規(guī)劃,從小到大,沒少說和做。一直以來,真正做好的,有效果的,沒幾個。小學,中學,高中,大學再到工作,做規(guī)劃也像...
    Carrie符閱讀 138評論 0 0