• XML


    XML

    一、概念

     * Extensible Markup Langueage 可扩展标记语言
        * 可扩展:标签都是自定义的
     * 功能:
        * 存储数据
           1. 配置文件
           2. 在网络中传输
     * xml与html的区别:
        1. xml标签都是自定义的,html标签是预定义
        2. xml的语法严格,html语法松散
        3. xml是存储数据的,html是展示数据
    

    二、语法

     * 基本语法:
        1. xml文档的后缀名 .xml
        2. xml第一必须定义为文档声明
        3. xml文档中有且仅有一个根标签
        4. 属性值必须使用引号引起来
        5. 标签必须正确关闭
        6. xml标签名称区分大小写
     * 组成部分:
        1. 文档声明
           1. 格式:<?xml 属性列表 ?>
           2. 属性列表:
              * version:版本号
              * encoding:编码方式 告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
              * standalone:是否独立  yes:不依赖其他文件  no:依赖其他文件
        2. 指令
        3. 标签
        4. 属性
        5. 文本
           * CDATA区:在该区域中的数据会被原样展示
              * 格式:<![CDATA[数据]]>
     * 约束:规定xml文档的书写规则
        * 作为框架的使用者(程序员):
           1. 能够在xml中引入约束文档
           2. 能够简单的读懂约束文档
        * 分类:
           1. DTD:一种简单的约束技术
           2. Schema:一种复杂的约束技术
    

    三、解析

     * 操作xml文档,将文档中的数据读取到内存中
        * 操作xml文档:
           1. 解析(读取):将文档中的数据读取到内存中
           2. 写入:将内存中的数据保存到xml文档中。持久化的存储
        * 解析xml的方式:
           1. DOM:将标记语言文档一次性加载进内存,在内存中形成一颗DOM树
              * 优点:操作方便,可以对文档进行CRUD的所有操作
              * 缺点:占内存
           2. SAX:逐行读取,基于事件驱动的
              * 优点:不占内存
              * 缺点:只能读取,不能增删改
        * xml常见的解析器:
           1. JAXP:sun公司提供的解析器,支持dom和sax两种思想
           2. DOM4J:一款非常优秀的解析器
           3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
           4. PULL:Android操作系统内置的解析器,sax思想        
        * Jsoup
           * 快速入门:
              * 步骤:
                1. 导入jar包
                2. 获取Document对象
                3. 获取对应的标签Element对象
                4. 获取数据
           * 对象的使用:
              1. Jsoup:工具类,可以解析html或xml文档,返回Document
              2. Document:文档对象,代表内存中的DOM树
              3. Elements:元素Element对象的集合,可以当作 ArrayList<Element>来使用
              4. Element:元素对象
              5. Node:节点对象
  • 相关阅读:
    Java map双括号初始化方式的问题
    Koa 中间件的执行
    JavaScript 实现页面中录音功能
    Koa 中实现 chunked 数据传输
    WebAssembly 上手
    TypeScript `infer` 关键字
    Vim 插件的安装
    MySQL EXPLAIN 语句
    面向切面编程(AOP)
    CSS 类名的问题
  • 原文地址:https://www.cnblogs.com/twk0909/p/14297099.html
Copyright © 2020-2023  润新知