小白入门基础 - XML
一:前言
????????可扩展标记语言(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、组成部分
- 文档声明
- 必须有开始标签:<?xml 属性列表?>
- 属性列表
- version:版本号,必填,比如:version="1.0"
- encoding:编码方式,告知引擎当前使用的字符集,默认为:ISO-8859-1
- standalone:是否依赖其它文件,取值为 yes 或者 no
- 指令:早起为了结合 CSS
- 标签:自定义的
- 名称可以包含字母、数字以及其他字符
- 不能以数字或者标点符号开头
- 不能以字母 xml(大小写都不行) 开头
- 不能包含空格
- 属性
- ID 的值要唯一
- 文本
- CDATA区:这个区内的数据会被原样展示
- 格式::<![CDATA[? 要展示的数据? ]]>
- CDATA区:这个区内的数据会被原样展示
4、约束
? ? ? ? 目的:规定 xml 文档的书写规则
? ? ? ? 分类:
- DTD:一种简单的约束技术,引入方式如下
- 本地:<!DOCTYPE? 根标签名 SYSTEM “dtd文件路径”>
- 网络:<!DOCTYPE? 根标签名 PBULIC “dtd文件名字” “URL”>
- Schema:一种复杂的约束技术
dtd:
5、解析
? ? ? ? 常见方式:
- DOM:一次性加载进入形成dom树,操作方便,占内存 --- 适用于Web端
- SAX:逐行读取,基于事件驱动。不占内存,但是只能读取,不能增删改 --- 适用于移动端
? ? ? ? 常见解析器:
- JAXP : sun公司提供的解析器,支持dom和sax两种思想2.
- DOM4:一款非常优秀的解析器
- Jsoup : jsoup是一款]ava的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,css以及类似于jQuery的操作方法来取出和操作数据。
- PULL : Android操作系统内置的解析器,sax方式的。
三:结尾
? ? ? ? xml 是目前比较常用的存储数据的方式,主要通过 API 传输数据,熟练的掌握 XML 的相关内容可以让我们在日常开发中更好地对数据进行处理与分析。好啦,本文就到此结束啦,希望能够对各位小伙伴有所帮助哦!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!