xml文件的用法

本文介绍了XML的基本概念,包括其作为一种配置文件和数据存储文件的特点,XML标签的自定义和规范,以及如何使用SAX解析器读取和写入XML文件,包括创建SAXReader对象、读取、获取元素、属性和文本,以及写入数据到XML文件的过程。
摘要由CSDN通过智能技术生成

1.xml是什么文件?

是一种配置文件,一种简单的数据存储文件

2.xml标签形式有什么特点?

1.与Html相似 2.xml的标签自定义, 3.不作为页面展示,仅作为数据存储

3.xml有何规范

1.有一个根标签 2.根标签中包含子标签 3.每个标签都有自己的属性

解析xml文件

1.在项目中创建一个lib目录(与src同级) 2.把相应jar包拷贝到lib目录中 3.设置 jar作为项目的library 3..点击File --> 点击Project Structure -->点击Libraries --> 点击左上角 “+” 号 --> 点击java --> 找到你的项目,选择 lib --> 点击OK

 读取xml文件

在项目src中建一个xml包,存储xml文件

  1. 创建SAX解析器SAXReader对象,用于读取xml文件

    SAXReader saxReader = new SAXReader();
  2. 读取xml文件,得到Document对象:

    Document document = saxReader.read(文件路径); //xmlFile xml文件
  3. 通过Document对象获取根元素

    Element element = document.getRootElement();
  4. 通过父节点找子节点,获取节点属性,文本,标签名...

            //循环获取user中userId的值(父节点中子节点的值)
            List<Element> userEle = rootElement.elements("user");
                 for (Element userId : userEle) {
                int id = Integer.parseInt(userId.attributeValue("userId"));
                System.out.println(id);
                 }
            //单个获取user中userId的值(父节点中子节点的值)
            Element uId=rootElement.element("user");
            int id = Integer.parseInt(uId.attributeValue("userId"));
            System.out.println(id);
            //获取user节点个数
            System.out.println(userEle.size());
            //获取username节点中的文本
            Element username = userId.element("username");
                String name = username.getText();
                System.out.println(name);
    ​
    //  String id= String.valueOf(userId.attribute("user")); 强转为String
    //  int id = Integer.parseInt(userId.attributeValue("userId")); 强转为int

 写入数据到xml文件
  1. 创建输出格式对象

    OutputFormat format = OutputFormat.createPrettyPrint(); 
  2. 设置编码

    format.setEncoding("UTF-8");
  3. 把内存的Document对象保存到xml文件

    FileWriter fw = new FileWriter(path);
    XMLWriter xw = new XMLWriter(fw,format);
    xw.write(doc);
  4. 关闭资源

    xw.close();
    fw.close();
           //创建SAX解析器SAXReader对象,用于读取xml文件
            SAXReader saxReader = new SAXReader();
           //读取xml文件,得到Document对象
            Document document = saxReader.read("text/src/xml/User.xml");
            //通过Document对象获取根元素
            Element rootElement = document.getRootElement();
            //选择需要添加数据的父元素
            Element userAdd = rootElement.addElement("user");
            //添加属性  
            userAdd.addAttribute("userId","6");
            //添加子元素
            Element usernameAdd=userAdd.addElement("username");
            //添加文本
            usernameAdd.setText("anxi");
            //添加子元素
            Element passwordAdd=userAdd.addElement("password");
            //添加文本
            passwordAdd.setText("123456");
    ​
            //创建输出格式对象
            OutputFormat format=OutputFormat.createPrettyPrint();
            //设置编码
            format.setEncoding("UTF-8");
            //把内存的Document对象保存到xml文件
            FileWriter fw=new FileWriter("text/src/xml/User.xml");
            XMLWriter xw=new XMLWriter(fw,format);
            xw.write(document);
            //关闭资源
            xw.close();
            fw.close();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值