自己学习安卓,在网上看相关视频
xml的介绍
XML是指可扩展标记语言(Extensible Markup Language)
作用
①可以在客户端(client)/服务器(server)之间传递数据
服务器 装着服务端程序的高配置电脑 cpu intel 志强 处理器
② 用来保存有关系的数据
③ 用来做配置文件 在android当中 界面的布局而文件 还有 清单文件都是用xml文件来描述的
xml的基本语法
gbk 2万 gb2312 5千多个汉字 utf-8
文档声明
<?xml version="1.0"?> 最简单的xml文档声明 文档声明必须写在第一行
保存的时候 xml声明的编码 要跟文件保存的编码保持一致 如果不声明编码 默认使用的是utf-8
<?xml version="1.0" encoding="utf-8"?>
用standalone属性说明文档是否独立,即是否依赖其他文档。
如:<?xml version=“1.0” standalone=“yes”?> yes说明独立 不依赖其他文档
元素
<tag></tag> 起始标签 闭合标签
标签必须闭合
如果标签中没有其他内容可以自闭合<tag/>
标签嵌套的时候 需要注意 先开始的标签后闭合 后开始的标签先闭合
根标签必须有只能有一个
标签换行制表符都会保留 需要注意 书写的时候 如果用了这些符号 就会导致流量的浪费
元素的命名规则 跟java变量名的命名规则类似 xml的保留字是xml 所以不能以xml开头
属性
①属性要写在开始标签中
②属性的命名规则跟元素的命名规则一样
③属性一定要用引号包起来 单引号 双引号都可以
④属性的内容可以用子标签的形式来表示
<?xml version="1.0" encoding="UTF-8"?>
<Persons>
<person name="liufeng">
<firstName>feng</firstName>
<lastName>liu</lastName>
</person>
</Persons>
注释
注释不能嵌套 不能在文档的第一行
<!-- 我是注释 ctrl + shift +/-->
CDATA区
通过CDATA区传递的内容不会被解析器解析
<![CDATA[ <lastName>liu <<<<< >>>>>></lastName> ]]>
xml的约束
格式良好的XML: 遵循XML语法的XML
有效的XML:遵循约束文档的XML
格式良好不一定有效 有效的一定格式良好
约束的作用:约束文档定义了XML中允许出现的元素名称,属性及元素出现的顺序
名称空间 namespace 对应一个约束文档
com.itheima.test.a.java
com.itheima.a.java
<html:Table> <tr></tr></html:Table>
<life:Table><leg></leg></life:Table>
Dtd 独立的dtd文档 扩展名dtd 编码必须是utf-8
可以声明在xml文件中
通过dtd可以约束元素的名称 元素出现的顺序 出现的次数 属性的名称 属性的类型 属性是否必须出现 属性的值是否可以重复
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE 书架 [
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
<!ATTLIST 书
ISBN ID #REQUIRED
COMMENT (a|b) #IMPLIED
出版社 CDATA "传智播客"
>
<!ENTITY copyright "黑马训练营">
]>
<书架>
<书 ISBN="a" COMMENT="b" >
<书名>Java就业培训教程</书名>
<作者>©right;</作者>
<售价>39.00元</售价>
</书>
<书 ISBN="b">
<书名>JavaScript网页开发</书名>
<作者>张孝祥</作者>
<售价>28.00元</售价>
</书>
</书架>
Schema
①扩展名 .xsd 本身是一份xml文档
②对名称空间(namespace)支持的很好
③ 支持的类型比dtd跟丰富约束的更细致 可以支持自定义的类型
④ schema正在逐步替换dtd 在android中清单文件和布局文件 用到了schema约束技术
①xml的约束技术 作用 规范xml文件的书写(标签 属性 文本)
②xml约束 常用的技术 dtd schema
③android用到的约束 schema
④ 名称空间 namespace