JavaScript 补充
innerHTML,不是标准,XML不支持
nextSibling 获取下一个兄弟节点
XML:可拓展性标记语言
XMl的设计宗旨是传输数据
XML的应用:
1,存储数据,即在没有数据库的情况下,是一个很好的替代品
如果有数据库就用数据库
2,传输数据,即服务器以XML的形式向android发送数据
3,配置文件,通用配置XML文件,通知应用程序如何处理业务
XML的树形结构:倒状的树结构
XMl的语法
1,文档声明
声明版本号:version="1.0" , 编码方式:encoding="UTF-8" 声明要放在文档第一行
2,元素
XML中的元素是标签,标签通常用开始和结构组成
中间是标签体,没有标签体称为空标签,不能交叉嵌套
标签名称不能数字开头,不能带空格,在没有命名空间的情况下
不能使用冒号,大小写敏感
3,属性
属性开始标签中,用双引或单引号定界
1.一个标签可以带多个属性
2.不同标签之间相同属性值不能相同
4,注释
<!-- 这是注释 -->
注释不能嵌套使用, 写100行java代码,有30%左右的注释
以下是java注释方式:
单行注释://
多行注释:/* */
文档注释:/** */
5.CDATA区
原样输出
<![CDATA[
]]>
6,转义字符
类似HTML转移符
7,处理指令
用CSS解析XML标签中的内容,如果你要用这个功能,标签就不要用中文
建议:
1,开发工具不能放在中文或中文空格符的目录下
2,Tomcat这种Web服务器 不能有中文
3,在开发工具中创建的工程名,尽量用英文,不要用中文和一些特殊符号。一般情况下不用 _ 开头
DTD简介:(Document Type Defined)
如果没有约束文件的话,一个需求,可以写多个不同的XML文件 这就要写多个程序来解析,如果能有一个XML文件,只需要一个程序就行了为了达到这个目的,为XML量身定做一个约束文件,让XML符合这些条件。
XML和DTD关联有3中方式:
1,使用内部DTD,即XML和DTD在同一个XML文件中
2,外部本地DTD
<!DOCTYPE bookstore SYSTEM "本地DTD的url"
这样可以使XML和DTD分离
合法的XML 浏览器正常显示XML的内容
有效的XML:不光语法正确,且符合DTD的规则
3,公共DTD
DTD语法:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE bookstore [ <!ELEMENT bookstore (book)> <!--表示bookstore元素下,只允许book子元素出现一次 --> <!ELEMENT book (title,author,price)> <!--表示book标签要按顺序匹配子元素 --> <!ELEMENT title (#PCDATA) > <!--表示price元素中只能书写可解析的文本,不可有子标签 --> ]> <!-- ANY 代表里面内容不限 不用加() EMPTY 代表元素内容为空 不用加() DTD定义的<!ELEMENT>顺序无关系 --> <bookstore> <book>JavaWeb</book> <author>哈哈</author> <price>100</price> </bookstore>
<!DOCTYPE bookstore[ <!ELEMENT bookstore (book)> <!ELEMENT book (title)> <!ELEMENT title (#PCDATA)> <!ATTLIST book id ID #REQUIRED <!--该属性必填 --> isbn IDREF #IMPLIES <!--该属性可写可不写 --> catalog CDATA #FIXED "JavaEE" <!-- 可写可不写,写要定值,大小写敏感 --> location (北京|上海|深圳|广州) "广州"> <!-- 默认值,可写可不写 --> ]> <bookstore> <book id="it2015" isbn="it2015" catelog="javaee" location="广州"> <title>JavaWeb</title> </book> </bookstore>
属性类型分四种:
ID:表示唯一的字符串,以字母开头
IDREF:表示唯一值,要与另一个ID类型属性值相同
CDATA:表示字符串类型
(*|*|):枚举值
DTD实体:
就是用一个变量去代替一个特殊的字符串
内部实体:
引用实体
语法:
<!ENTITY % key value>
调用方式:&key;
参数实体
语法:
<!ENTITY % key value>
在DTD中调用:%key;
XML解析方式
1,DOM解析
当XML解析引擎解析完XML文件之后,会把XML文件中的各个部分封装成对象,通过对象获取XML文件的信息
甚至改变XML文件的信息,这种做法叫做DOM解析
2,SAX解析.....