小白入门基础 - XML

2024-01-02 08:35:13

一:前言

????????可扩展标记语言(XML)与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

XML格式示例

????????XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS,?Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。

XML 与 HTML 的恩怨情仇:

? ? ? ? 最初 W3C 组织是开发出了 HTML 语言,但是由于其语法结构比较松散,因此各大浏览器运营商进行互相比拼,简化语法(比如在属性中,属性值可以不加引号,可以没有结束标签等),导致 HTML 的写法难以得到统一,因此 W3C 组织发布了语法更为严格的 XML 语言试图替换 HTML ,但是由于后者的基数庞大并且已经根深蒂固,导致 XML 无法替代 HTML 。

? ? ? ? 因此 XML 转变了想法,开始去替代 properties ,成为了存储数据的语言。

二:XML

1、XML 与 HTML 的区别

  • XML 标签是自定义,而 HTML 是预定义
  • XML 语法严格,HTML 语法松散
  • XML 存储数据,HTML 展示数据

2、基本语法

  • 后缀名 ,xml
  • 第一行必须为文档声明
  • 有且仅有一个根标签
  • 属性值必须用引号引起来
  • 标签必须关闭
  • 标签名区分大小写

3、组成部分

  1. 文档声明
    1. 必须有开始标签:<?xml 属性列表?>
    2. 属性列表
      1. version:版本号,必填,比如:version="1.0"
      2. encoding:编码方式,告知引擎当前使用的字符集,默认为:ISO-8859-1
      3. standalone:是否依赖其它文件,取值为 yes 或者 no
  2. 指令:早起为了结合 CSS
  3. 标签:自定义的
    1. 名称可以包含字母、数字以及其他字符
    2. 不能以数字或者标点符号开头
    3. 不能以字母 xml(大小写都不行) 开头
    4. 不能包含空格
  4. 属性
    1. ID 的值要唯一
  5. 文本
    1. CDATA区:这个区内的数据会被原样展示
      1. 格式::<![CDATA[? 要展示的数据? ]]>

4、约束

? ? ? ? 目的:规定 xml 文档的书写规则

? ? ? ? 分类:

  • DTD:一种简单的约束技术,引入方式如下
    • 本地:<!DOCTYPE? 根标签名 SYSTEM “dtd文件路径”>
    • 网络:<!DOCTYPE? 根标签名 PBULIC “dtd文件名字” “URL”>
  • Schema:一种复杂的约束技术

dtd:

5、解析

? ? ? ? 常见方式:

  1. DOM:一次性加载进入形成dom树,操作方便,占内存 --- 适用于Web端
  2. SAX:逐行读取,基于事件驱动。不占内存,但是只能读取,不能增删改 --- 适用于移动端

? ? ? ? 常见解析器:

  1. JAXP : sun公司提供的解析器,支持dom和sax两种思想2.
  2. DOM4:一款非常优秀的解析器
  3. Jsoup : jsoup是一款]ava的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,css以及类似于jQuery的操作方法来取出和操作数据。
  4. PULL : Android操作系统内置的解析器,sax方式的。

三:结尾

? ? ? ? xml 是目前比较常用的存储数据的方式,主要通过 API 传输数据,熟练的掌握 XML 的相关内容可以让我们在日常开发中更好地对数据进行处理与分析。好啦,本文就到此结束啦,希望能够对各位小伙伴有所帮助哦!

文章来源:https://blog.csdn.net/c18559787293/article/details/135325899
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。