小白入门基础 - XML

一:前言

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

XML格式示例

        XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OSLinux以及其他平台下产生的信息结合,然后可以很容易加载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 的相关内容可以让我们在日常开发中更好地对数据进行处理与分析。好啦,本文就到此结束啦,希望能够对各位小伙伴有所帮助哦!

  • 45
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴怒的代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值