每日日报

自己学习安卓,在网上看相关视频

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开头
 
属性
①属性要写在开始标签中
②属性的命名规则跟元素的命名规则一样
③属性一定要用引号包起来 单引号 双引号都可以
④属性的内容可以用子标签的形式来表示
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Persons>
  3. <person name="liufeng">
  4. <firstName>feng</firstName>
  5. <lastName>liu</lastName>
  6. </person>
  7. </Persons>
 
注释  
注释不能嵌套 不能在文档的第一行
  1. <!-- 我是注释 ctrl + shift +/-->
 
CDATA区
通过CDATA区传递的内容不会被解析器解析
  1. <![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可以约束元素的名称 元素出现的顺序 出现的次数 属性的名称 属性的类型 属性是否必须出现 属性的值是否可以重复
  1. <?xml version="1.0" encoding="GBK"?>
  2. <!DOCTYPE 书架 [
  3. <!ELEMENT 书架 (书+)>
  4. <!ELEMENT 书 (书名,作者,售价)>
  5. <!ELEMENT 书名 (#PCDATA)>
  6. <!ELEMENT 作者 (#PCDATA)>
  7. <!ELEMENT 售价 (#PCDATA)>
  8. <!ATTLIST 书
  9. ISBN ID #REQUIRED
  10. COMMENT (a|b) #IMPLIED
  11. 出版社 CDATA "传智播客"
  12. >
  13. <!ENTITY copyright "黑马训练营">
  14. ]>
  15. <书架>
  16. <书 ISBN="a" COMMENT="b" >
  17. <书名>Java就业培训教程</书名>
  18. <作者>&copyright;</作者>
  19. <售价>39.00元</售价>
  20. </书>
  21. <书 ISBN="b">
  22. <书名>JavaScript网页开发</书名>
  23. <作者>张孝祥</作者>
  24. <售价>28.00元</售价>
  25. </书>
  26. </书架>
Schema
①扩展名 .xsd 本身是一份xml文档
②对名称空间(namespace)支持的很好 
③ 支持的类型比dtd跟丰富约束的更细致 可以支持自定义的类型
④ schema正在逐步替换dtd  在android中清单文件和布局文件 用到了schema约束技术
 
①xml的约束技术 作用 规范xml文件的书写(标签 属性 文本)
②xml约束 常用的技术 dtd schema
③android用到的约束  schema
④ 名称空间 namespace
原文地址:https://www.cnblogs.com/zhukaile/p/14376538.html