xlmday01笔记
来源:互联网 发布:理智与情感赏析知乎 编辑:程序博客网 时间:2024/05/19 23:58
一,xml作用:表示数据,描述数据层次关系。
没有预定义标签,需用户自定义
目前使用版本1.0
xml表示的数据需要解析器解析出来 解析器Parser
二,xml语法
1,文档声明 必须出现在第一行
语法:<?xml version="1.0"?>
属性:encoding指示编码。默认编码是UTF-8
<?xml version="1.0" encoding="utf-8"?>
编码问题:保存时查的哪个码表,取时就用该码表 否则乱码
属性:standalone指示该xml文档是不是独立存在的 是yes|否no
2,元素:
1 必须有开始和结束标签
2 不允许交叉嵌套
3 必须且只能有一个跟标签
4 xml中不会忽略主题内容中出现的空格和换行
3,属性:
1 属性的取值一定要用引号引起来
2 元素中的属性是不允许重复的
4,xml注释
语法:xml中的注释语法为:<!--这是注释-->
注释也要合理嵌套
5,CDATA区 (Character Data)
作用:把标签当做文本来用
语法:<![CDATA[文本内容]]>
6,特殊符号要显示的话,必须转义
& &
< <
> >
" "
' '
7,xml指令
作用:指示如何解析xml文档的
语法:以<?开头以?>结尾
xml声明就是一个特殊的指令
三,约束
1,概念
格式良好的xml文档:遵循xml语法的文档
有效的xml文档:遵循约束的文档。只有是有效的xml文档,写好的解析器才能正确读取其中的内容
有效的xml文档必定是格式良好的,格式良好的不一定就是有效的
2,常用约束技术
DTD:比较老的。DTD(Document Type Definition:文档类型定义
Schema:新的约束规范(学习难度要大)
3,DTD约束
约束文件的扩展名师.dtd
dtd文件必须用utf-8编码保存
4,DTD的定义可以写到xml文档的内部。也可以写到外部(编码要用utf-8)
5,引入外部定义的DTD文档
1 DTD文档在本地
引入语法:<!DOCTYPE 根元素 SYSTEM "dtd文档的路径">
b、DTD文档在公共网络上
引入语法:<!DOCTYPE 根元素 PUBLIC "dtd名称" "dtd文档的URL">
四,DTD语法细节
1,元素定义
语法:<!ELEMENT 元素的名称 使用规则>
使用规则:
(#PCDATA):表示元素的主体内容为解析后的字符数据(普通文本)
EMPTY:指示标签的主题内容为空
ANY:用于指示元素的主题内容为任意类型。
(子元素):指示该元素内部包含的子元素有哪些
如果用逗号分开,说明有顺序
如果子元素用"|"分开,说明任选其一
子元素中出现的次数:
+:至少出现一次
*:零次或一次或多次
?:零次或一次
什么都不带:必须且只能1次
2,元素的属性
语法:<!ATTLIST 元素名称
属性名称1 属性值类型 设置说明
属性名称1 属性值类型 设置说明>
属性值类型:
CDATA:属性是普通字符串
ENUMERATED(DTD没有此关键字):表示枚举,只能从枚举列表中任选其一
ID:表示属性的取值不能重复
设置说明:
#REQUIRED:说明该属性是必须的
#IMPLIED:不是必须的
#FIXED:表示属性的取值为一个固定值。语法:#FIXED“固定值”
直接值:表示属性的取值为该默认值
3,实体的定义(都在DTD中定义)
1 引用实体(定义出来的实体给xml使用)
语法:<!ENTITY 实体名称 ”实体的内容“>
引用方式(XML中引用):&实体名称;
2 参数实体(定义出来的实体给DTD使用)
语法:<!ENTITY %实体名称 ”实体内容">
引用方式(DTD中引用):%实体名称;
五,编程解析xml中的数据
1,解析方式:
1 DOM方式
Document Object Model,文档对象模型。这种方式是W3C推荐的处理xml的一种方式。
2 SAX方式
Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,几乎所有的XML解析器都支持它。
2,解析开发包
1 JAXP:是SUN公司推出的(jdk全部都有)
org.w3c.dom:提供DOM方式解析XML的标准接口
org.xml.sax:提供SAX方式解析XML的标准接口
javax.xml:提供了解析XML文档的类
2 Dom4J:开源组织搞的。
一、小结
*1、XML作用
2、XML的语法
*声明
*标签
*属性
*CDATA区
*注释
处理指令
*特殊字符
3、DTD约束
*引入外部的DTD文档的方式
DTD的语法细节
定义元素
定义属性
定义实体
*看懂DTD文档
*4、解析xml编程
方式:Dom和Sax
DOM解析原理
DOM使用Jaxp进行CRUD操作
DOM小案例
二、预习
1、小案例做完
2、SAX方式JAXP解析
3、DOM4J
4、Junit单元测试
5、Xpath
6、利用Dom4J改写案例
7、Schema约束
三、作业
1、完成剩余的2个DTD练习
2、练习JaxpDom方式的基本使用
3、完成案例
没有预定义标签,需用户自定义
目前使用版本1.0
xml表示的数据需要解析器解析出来 解析器Parser
二,xml语法
1,文档声明 必须出现在第一行
语法:<?xml version="1.0"?>
属性:encoding指示编码。默认编码是UTF-8
<?xml version="1.0" encoding="utf-8"?>
编码问题:保存时查的哪个码表,取时就用该码表 否则乱码
属性:standalone指示该xml文档是不是独立存在的 是yes|否no
2,元素:
1 必须有开始和结束标签
2 不允许交叉嵌套
3 必须且只能有一个跟标签
4 xml中不会忽略主题内容中出现的空格和换行
3,属性:
1 属性的取值一定要用引号引起来
2 元素中的属性是不允许重复的
4,xml注释
语法:xml中的注释语法为:<!--这是注释-->
注释也要合理嵌套
5,CDATA区 (Character Data)
作用:把标签当做文本来用
语法:<![CDATA[文本内容]]>
6,特殊符号要显示的话,必须转义
& &
< <
> >
" "
' '
7,xml指令
作用:指示如何解析xml文档的
语法:以<?开头以?>结尾
xml声明就是一个特殊的指令
三,约束
1,概念
格式良好的xml文档:遵循xml语法的文档
有效的xml文档:遵循约束的文档。只有是有效的xml文档,写好的解析器才能正确读取其中的内容
有效的xml文档必定是格式良好的,格式良好的不一定就是有效的
2,常用约束技术
DTD:比较老的。DTD(Document Type Definition:文档类型定义
Schema:新的约束规范(学习难度要大)
3,DTD约束
约束文件的扩展名师.dtd
dtd文件必须用utf-8编码保存
4,DTD的定义可以写到xml文档的内部。也可以写到外部(编码要用utf-8)
5,引入外部定义的DTD文档
1 DTD文档在本地
引入语法:<!DOCTYPE 根元素 SYSTEM "dtd文档的路径">
b、DTD文档在公共网络上
引入语法:<!DOCTYPE 根元素 PUBLIC "dtd名称" "dtd文档的URL">
四,DTD语法细节
1,元素定义
语法:<!ELEMENT 元素的名称 使用规则>
使用规则:
(#PCDATA):表示元素的主体内容为解析后的字符数据(普通文本)
EMPTY:指示标签的主题内容为空
ANY:用于指示元素的主题内容为任意类型。
(子元素):指示该元素内部包含的子元素有哪些
如果用逗号分开,说明有顺序
如果子元素用"|"分开,说明任选其一
子元素中出现的次数:
+:至少出现一次
*:零次或一次或多次
?:零次或一次
什么都不带:必须且只能1次
2,元素的属性
语法:<!ATTLIST 元素名称
属性名称1 属性值类型 设置说明
属性名称1 属性值类型 设置说明>
属性值类型:
CDATA:属性是普通字符串
ENUMERATED(DTD没有此关键字):表示枚举,只能从枚举列表中任选其一
ID:表示属性的取值不能重复
设置说明:
#REQUIRED:说明该属性是必须的
#IMPLIED:不是必须的
#FIXED:表示属性的取值为一个固定值。语法:#FIXED“固定值”
直接值:表示属性的取值为该默认值
3,实体的定义(都在DTD中定义)
1 引用实体(定义出来的实体给xml使用)
语法:<!ENTITY 实体名称 ”实体的内容“>
引用方式(XML中引用):&实体名称;
2 参数实体(定义出来的实体给DTD使用)
语法:<!ENTITY %实体名称 ”实体内容">
引用方式(DTD中引用):%实体名称;
五,编程解析xml中的数据
1,解析方式:
1 DOM方式
Document Object Model,文档对象模型。这种方式是W3C推荐的处理xml的一种方式。
2 SAX方式
Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,几乎所有的XML解析器都支持它。
2,解析开发包
1 JAXP:是SUN公司推出的(jdk全部都有)
org.w3c.dom:提供DOM方式解析XML的标准接口
org.xml.sax:提供SAX方式解析XML的标准接口
javax.xml:提供了解析XML文档的类
2 Dom4J:开源组织搞的。
一、小结
*1、XML作用
2、XML的语法
*声明
*标签
*属性
*CDATA区
*注释
处理指令
*特殊字符
3、DTD约束
*引入外部的DTD文档的方式
DTD的语法细节
定义元素
定义属性
定义实体
*看懂DTD文档
*4、解析xml编程
方式:Dom和Sax
DOM解析原理
DOM使用Jaxp进行CRUD操作
DOM小案例
二、预习
1、小案例做完
2、SAX方式JAXP解析
3、DOM4J
4、Junit单元测试
5、Xpath
6、利用Dom4J改写案例
7、Schema约束
三、作业
1、完成剩余的2个DTD练习
2、练习JaxpDom方式的基本使用
3、完成案例