03 xml 操作(增,删,改)

常用操作:

添加: 文档 标签 属性
修改: 属性值,文本内容
删除: 标签 属性

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.设置了xml文件的编码
         *2.设置了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"));
        
        //------修改属性
        //-> 先得到属性对象,再调用方法修改属性值
        /*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");
        
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,331评论 1 41
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,601评论 0 11
  • 作为一个不是什么985.211大学的一名极其普通的学生,可能自己的人生履历不如那些学霸那么耀眼,但是我还是想说说我...
    小祖宗的白日梦阅读 228评论 0 0
  • 说到规划,从小到大,没少说和做。一直以来,真正做好的,有效果的,没几个。小学,中学,高中,大学再到工作,做规划也像...
    Carrie符阅读 138评论 0 0