- 概念:(Extensible Markup Language) 可扩展(标签都是自定义的。 如: )标记语言
- 功能
*存储数据
*配置文件
*在网络中传输
3.xml与html的区别
* xml标签都是自定义的,html标签是预定义。
* xml的语法严格,html语法松散
* xml是存储数据的,html是展示数据
-
语法:
-
基本语法:
- xml文档的后缀名 .xml
- xml第一行必须定义为文档声明
- xml文档中有且仅有一个根标签
- 属性值必须使用引号(单双都可)引起来
- 标签必须正确关闭
- xml标签名称区分大小写
-
快速入门:
<?xml version='1.0' ?> zhangsan 23 male
<user id='2'> <name>lisi</name> <age>24</age> <gender>female</gender> </user>
-
组成部分:
- 文档声明
- 格式:<?xml 属性列表 ?>
- 属性列表:
- version:版本号,必须的属性
- encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
- standalone:是否独立
- 取值:
- yes:不依赖其他文件
- no:依赖其他文件
- 取值:
- 指令(了解):结合css的
- <?xml-stylesheet type="text/css" href="a.css" ?>
- 标签:标签名称自定义的
- 规则:
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
- 规则:
- 文档声明
-
-
属性:
id属性值唯一 -
文本:
* CDATA区:在该区域中的数据会被原样展示
* 格式: <![CDATA[ 数据 ]]>
6.xml常见的解析器:
1. JAXP:sun公司提供的解析器,支持dom和sax两种思想
2. DOM4J:一款非常优秀的解析器
3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
4. PULL:Android操作系统内置的解析器,sax方式的。