在正式学习Android之前,我们首先要学习XML,因为安卓的布局文件就是一个一个XML文件,首先你要知道XML的一些语法规则,以便你以后能开发Android,不仅是安卓,JavaWeb、.net等开发都需要XML。
1.什么是XML?
XML,Extensible Markup Language,可扩展标记语言,W3C组织发布。用来解决计算机中保存和处理数据的格式。
2.XML的常见应用场景
XML本质是一段字符串,具有跨平台性。利用XML跨平台的特性,用来在不同的操作系统不同的开发语言之间传输数据。
利用XML可以保存具有关系的数据的特性,还常常被用来做为配置文件使用Android应用中客户端是Android平台,服务器 是 windows,用于配置文件可替代properties
3.XML的校验
简单一句话,使用浏览器打开,正常就正常显示,错误无法显示。因为浏览器除了内置html解析引擎外还内置了XML解析器
如果正确网页会显示空白
如果错误浏览器会显示错误信息
4.XML的语法
4.1声明:首先,文档第一行必须声明(最简单写法只需要一个version属性)
<?XML version="1.0" encoding=”gb2312” standalone=”是否是一个独立文档默认YES”?>
4.2元素:一个XML标签就是一个元素,一个标签分为开始标签和结束标签,在开始标签和结束标签之间可以包含文本内容,这样的文本内容叫做标签体。
如果标签的开始标签和结束标签之间不包含标签和子标签则可以将开始标签和结束标签进行合并,这样的标签就叫做自闭标签。
一个标签中也可以包含任意多个子标签,但是一定要注意标签一定要合理嵌套。
一个格式良好的xml要包含并且只能包含一个根标签,其他的标签都应该是这个标签的子孙标签
标签命名规则:区分大小写,例如,<P>和<p>是两个不同的标记;不能以数字或标点符号或"_"开头;不能以xml(或XML、或Xml 等)开头;不能包含空格名称中间不能包含冒号(:)。
注释可以出现在xml文档的任意位置除了整个文档的最前面.不能出现在文档声明之前,注释不能嵌套注释
4.5CDMA区/转义字符
<![CDATA[转义的内容]]>
当XML中一段内容不希望被解析器解析时可以使用CDATA区将其包住, 当解析器遇到CDATA区时会将其内容当作文本对待,不会进行解析
例如:
<?xml version="1.0" encoding="UTF-8"?>
<书架>
<书>
<书名>Android</书名>
<作者>张三</作者>
<售价>39.00元</售价>
</书>
<![CDATA[<书>
<书名>JavaScript</书名>
<作者>李四</作者>
<售价>28.00元</售价>
</书> ]]>
</书架>
结果如下
可以看到被括起来的地方都是文本字体显示(标签显示红色)
转义字符:
& --> &
< --> <
> --> >
" --> "
' --> '
举个例子:
<?xml version="1.0" encoding="UTF-8"?> <书架> <书> <书名>Android</书名> <作者>张三</作者> <售价>39.00元</售价> </书> <书> <书名>JavaScript</书名> <作者>李四</作者> <售价>28.00元</售价> </书> </书架>
结果显示
CDATA区和转义字符的区别
(1)CDATA区可以成段的进行转义,而转义字符一次只能转义一个字符
(2)CDATA区转义的字符可以保存数据本来的格式只是通知解析器按文本去处理。转义字符改变了数据本身的内容,利用其他字符替代了转义字符。
4.6处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>指定解析器使用1.css去渲染当前的XML数据
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/css" href="1.css"?> <Country> <c1>中国</c1> <c2>美国</c2> <c3>日本</c3> <c4>韩国</c4> </Country>
1.css样式文件代码如下:
c1{ font-size:200px; color:red; } c2{ font-size:150px; color:green; } c3{ font-size:100px; color:#ccc; } c4{ font-size:130px; color:blue; }
在浏览器中解析该XML文件的结果如下图所示: