多语言展示
当前在线:1158今日阅读:112今日分享:19

安卓开发之xml(二)

XML约束概述、DTD约束快束入门、编程校验XML文档正确性、引入DTD约束的两种方式、dtd语法约束、xml编程
工具/原料
1

文本编辑器

2

其他IDE

方法/步骤
1

什么是XML约束?在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为XML约束。为什么要使用XML约束?我们从网上下载了一个开源框架,这个开源框架是使用XML作为配置文件的,这时候框架的设计者就需要约束我们配置文件的写法。XML约束的作用约束xml文档的写法对xml进行校验常见的XML约束技术XML DTD XML Schema

2

DTD约束快束入门DTD(Document Type Definition),全称为文档类型定义。(DTD文件应使用UTF-8或Unicode)#PCDATA  表示可以包含标签体

3

编程校验XML文档正确性默认的情况下IE浏览器内置的XML解析器的 约束校验器是被关闭了的。所以我们需要使用JavaScript手动创建解析器对象,打开约束校验功能,对XML进行约束校验。创建xml文档解析器对象var xmldoc = new ActiveXObject('Microsoft.XMLDOM');开启xml校验xmldoc.validateOnParse = 'true';装载xml文档xmldoc.load('book.xml');获取错误信息xmldoc.parseError.reason;  xmldoc.parseError.line

4

引入DTD约束的两种方式在xml中引入dtd1.外部引入:将dtd约束内容写在外置dtd文件中,以utf-8保存,再在xml文件中使用如果写的是SYSTEM,表明当前引入的dtd在当前系统中,后面指定文件的位置是在网络中2.内部引入:直接写在xml

5

dtd语法约束1.元素 2.属性 存放类型:ANY(可以存放任意元素)/EMPTY(不能存放任意元素)元素约束:子元素用逗号隔开,表示按照顺序出现子元素用竖线隔开,表示元素之间只能出现一个+ 表示出现一次或多次* 表示零次或多次? 表示一次或零次也可以用小括号批量设置(组合)属性类型:        CDATA:表示属性的值是一个普通的字符串     ENUMERATED:属性的值是一个枚举列表中的值     ID:表明属性值在文档中唯一,否则报错属性约束:        #REQUIRED--表明当前属性必须存在一个        #IMPLIEP--表明当前属性可设可不设        #FIXED‘固定值’--表明当前属性有固定值,不需要设定自动就会获取该固定值,设置则报错        ‘默认值’--如果没有赋值则取默认值ENTITY(实体)        就是一大段内容的引用,可以简化代码的复用性引用实体:在xml中使用的实体叫做引用实体              &实体名称;参数实体:在dtd中引用的实体%实体名称;

6

xml编程(利用java程序增删改查xml中的数据)dom解析(node接口提供很多增删改查。优点:便于增删改查,只需解析一次dome对象,可重复使用。缺点:解析比较慢,需将整个树内容加载到内存来,比较消耗内存)sax解析优点:不用等待整个xml加载到内存中才开始解析,解析到某个部分自动触发到对应的方法进行处理。对内存消耗较少,理论上无论多大的xml都能解析缺点:每次只能处理一次,再处理需重新解析;只能查询不能增删改

注意事项
1

想学安卓开发,需要好好学习一下xml语言

2

注意:.dtd文件应使用UTF-8或Unicode编码

推荐信息