Java语法之XML的使用

XML

概念

定义

  • Xml用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用
    户对自己的标记语言进行定义的源语言。

特点与作用

  • 特点
    • xml与操作系统、编程语言的开发平台都无关;
    • 实现不同系统之间的数据交互。
  • 作用
      1. 配置应用程序(servlet 配置,框架环境配置等)和网站
      1. 数据交互
      1. Ajax基石

基础语法

结构

  • 格式良好的 XML 文档需满足以下条件
  • 必须有XML声明语句 (第一行)
  • 必须有且仅有一个根元素
  • 标签成对
  • 元素正确嵌套

标签、元素、属性

  • 标签
    • 在 xml 中通过一对 <> 引起来的内容称为 标签 ,
  • 属性
    • 标签中还可以存在属性(一般在开始标签中),属性为标签添加了一些额外信息,属性的形式为 属性名=“属性值” ,一个标签中可以存在多个属性
  • 元素
    • 从开始标签到结束标签作为一个整体,称为 元素 。

实体

  • 定义
    • 实体是对数据的引用;根据实体种类的不同,XML 解析器将使用实体的替代文本或者外部文档的内容来
      替代实体引用。
  • xml中5个预定义实体
    • < < 小于
    • > > 大于
    • & & 和号
    • ’ ’ 单引号
    • " " 引号

XML解析

加载文件

  • 1)创建流,加载xml文件
    • SAXReader reader = new SAXReader();
  • 2)获取Document对象
    • Document document = reader.read(new File(path));

操作文件

  • 增(写出)

    • 1.构建XMLWriter
      • XMLWriter writer = null;
    • 2.构建输出格式
      • OutputFormat format = OutputFormat.createPrettyPrint();
      • writer = new XMLWriter(new FileWriter(path),format);
    • 3.写出
      • writer.write(document);
    • 4.刷出
      • writer.flush();
    • 5.关闭
      • writer.close();
    • 获取根节点
      • Element root = document.getRootElement();
    • 获取子节点
      • List list = root.elements();
    • 根据ID获取想要删除的元素
      • String idValue = e.attributeValue(“id”);
    • 获取元素内想要删除的标签
      • Element removeElement = e.element(“tuition”);
    • 删除获取到的标签
      • e.remove(removeElement);
    • 找到ID属性值为2的元素
      • String idValue = e.attributeValue(“id”);
      • if(idValue.equals(“2”)){}
    • 对其中的元素进行修改(增加 1w)
      • tuition.setData(Integer.parseInt(tuition.getText())+10000);
    • 获取根节点

      • Element root = document.getRootElement();
    • 获取子节点

      • List list = root.elements();
    • 遍历子节点

      list.forEach(e->{
            System.out.println("标签名 : "+e.getName() + “–>id属性 = “+e.attributeValue(“id”));
            //迭代所有子元素的迭代器
            Iterator it = e.elementIterator();
            while(it.hasNext()){
              Element ele = it.next();
              System.out.println(ele.getName()+”---->”+ele.getData());
            }
          });

      • Iterator it = e.elementIterator();

XML文档约束

  • 定义

    • 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范(与xml语法无关),这称之为XML
      约束。此举主要是为了保证数据的规范性和安全性。
  • 分类

    • DTD约束:

      • 优点

        • 语法简洁,功能比较单一。
      • 定义

        • DTD即文档类型定义-- Document Type Definition
        • 一个DTD文档可能包含如下内容
          1. 元素的定义规则
          1. 元素之间的关系规则
          1. 属性的定义规则
      • 导入方式

        • 内部导入

          • DTD约束和xml写在一个文件中。

          • 语法:

          • if salary <100 then

          • if salary < 100 then

        • 外部导入

          • 当验证的XML文件较多时,使用内部DTD可能出现冗余,此时可以通过引入dtd 文件进行xml 约束。

    • Schema约束:语法复杂,功能比较强大。

SAXReader类需要导入jar包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值