========================
XML 2天
JDBC 4天
项目 3、4天
XML - Extendsible Markup Language
========================
作用:
--------------
1,存储数据
2,传输数据
xml - html
--------------
xml表示数据的意义
xml不控制数据的显示
xml是自描述的
xml规范严格
html控制数据的显示样式
html规范不严格
xml语法
------------------------
1,头标记,必须是文档的第一个字符
<?xml version="1.0" encoding="UTF-8" ?>
2,顶层元素只能有一个
3,标记必须有开始和结束
4,空元素
<a></a>
<a />
5,必须正确的嵌套
错:
<a>
<b>
</a>
</b>
对:
<a>
<b>
</b>
</a>
6,属性必须用引号括起来
7,XML实体 - Entity
转义:
< - <
> - >
& - &
" - "
' - '
8,PCDATA
Parsible Character Data
9,<![CDATA[............]]>
Character Data
包含在此标记内的数据都作为普通字符处理
DTD - Document Type Defination
----------------------------------------
规定XML文档的格式规范
语法
---------------------------
1,空元素
<!ELEMENT abc EMPTY>
<abc></abc>
<abc />
2,包含任意内容
<!ELEMENT abc ANY>
3,子元素序列,子元素必须出现且必须按顺序出现
<!ELEMENT abc (def,ghi,jkl)>
<abc>
<def></def>
<ghi></ghi>
<jkl></jkl>
</abc>
4,出现次数
<!ELEMENT abc (def?,ghi+,jkl*)>
5,或
<!ELEMENT abc (def,(ghi|jkl))>
<abc>
<def></def>
<ghi></ghi>
</abc>
<abc>
<def></def>
<jkl></jkl>
</abc>
6,属性默认值
<!ATTLIST dept id CDATA "0" >
7,可选属性
<!ATTLIST dept id CDATA #IMPLIED >
8,必选属性
<!ATTLIST dept id CDATA #REQUIRED >
9,属性具有固定值
<!ATTLIST dept company CDATA #FIXED "tarena" >
10,属性具有几个固定可选值
<!ATTLIST dept company CDATA (tarena|Microsoft|Oracle) "tarena">
11,实体
<!ENTITY copyright "copyright(c) tarena.com.cn 2010">
©right;
namespace
=======================
<t:student xmlns:t="http://www.tarnea.com.cn/student">
<t:name>zhangsan</t:name>
</t:student>
<x:student xmlns:x="http://www.neworiental.com/student">
<x:name></x:name>
</x:student>
SAX
===================
Simple API for XML
DOM
===================
Document Object Model
xml练习
==================
1,
图书
版号
书名
作者
作者1
作者2
。。。
页数
价格
2,
部门
id
名
员工
id
名字
工资
员工
员工
主管
3,定义email.xml的DTD文档 email.dtd
作业
====================
用SAX从一个html文档内提取链接地址
XML - Extendsible Markup Language
========================
XPath
===================
/dept/name
/dept/emps/emp/name
/dept/@id
/dept/emps/emp/@degree
//name 任意位置的name元素
/dept//name
SAX
===================
Simple API for XML
优点:效率较高,占用内存少,适合解析较大的xml文档
缺点:不能用来生成xml文档
DOM
===================
Document Object Model
底层使用SAX读取文档,生成树
优点:方便的访问树上的任意节点
缺点:访问大文件,占用内存较多
DOM4J
===================
开源DOM API
练习
====================
JDBC 链接信息配置
作业
====================
用dom4j解析dept.xml,获得Dept对象
XML 2天
JDBC 4天
项目 3、4天
XML - Extendsible Markup Language
========================
作用:
--------------
1,存储数据
2,传输数据
xml - html
--------------
xml表示数据的意义
xml不控制数据的显示
xml是自描述的
xml规范严格
html控制数据的显示样式
html规范不严格
xml语法
------------------------
1,头标记,必须是文档的第一个字符
<?xml version="1.0" encoding="UTF-8" ?>
2,顶层元素只能有一个
3,标记必须有开始和结束
4,空元素
<a></a>
<a />
5,必须正确的嵌套
错:
<a>
<b>
</a>
</b>
对:
<a>
<b>
</b>
</a>
6,属性必须用引号括起来
7,XML实体 - Entity
转义:
< - <
> - >
& - &
" - "
' - '
8,PCDATA
Parsible Character Data
9,<![CDATA[............]]>
Character Data
包含在此标记内的数据都作为普通字符处理
DTD - Document Type Defination
----------------------------------------
规定XML文档的格式规范
语法
---------------------------
1,空元素
<!ELEMENT abc EMPTY>
<abc></abc>
<abc />
2,包含任意内容
<!ELEMENT abc ANY>
3,子元素序列,子元素必须出现且必须按顺序出现
<!ELEMENT abc (def,ghi,jkl)>
<abc>
<def></def>
<ghi></ghi>
<jkl></jkl>
</abc>
4,出现次数
<!ELEMENT abc (def?,ghi+,jkl*)>
5,或
<!ELEMENT abc (def,(ghi|jkl))>
<abc>
<def></def>
<ghi></ghi>
</abc>
<abc>
<def></def>
<jkl></jkl>
</abc>
6,属性默认值
<!ATTLIST dept id CDATA "0" >
7,可选属性
<!ATTLIST dept id CDATA #IMPLIED >
8,必选属性
<!ATTLIST dept id CDATA #REQUIRED >
9,属性具有固定值
<!ATTLIST dept company CDATA #FIXED "tarena" >
10,属性具有几个固定可选值
<!ATTLIST dept company CDATA (tarena|Microsoft|Oracle) "tarena">
11,实体
<!ENTITY copyright "copyright(c) tarena.com.cn 2010">
©right;
namespace
=======================
<t:student xmlns:t="http://www.tarnea.com.cn/student">
<t:name>zhangsan</t:name>
</t:student>
<x:student xmlns:x="http://www.neworiental.com/student">
<x:name></x:name>
</x:student>
SAX
===================
Simple API for XML
DOM
===================
Document Object Model
xml练习
==================
1,
图书
版号
书名
作者
作者1
作者2
。。。
页数
价格
2,
部门
id
名
员工
id
名字
工资
员工
员工
主管
3,定义email.xml的DTD文档 email.dtd
作业
====================
用SAX从一个html文档内提取链接地址
XML - Extendsible Markup Language
========================
XPath
===================
/dept/name
/dept/emps/emp/name
/dept/@id
/dept/emps/emp/@degree
//name 任意位置的name元素
/dept//name
SAX
===================
Simple API for XML
优点:效率较高,占用内存少,适合解析较大的xml文档
缺点:不能用来生成xml文档
DOM
===================
Document Object Model
底层使用SAX读取文档,生成树
优点:方便的访问树上的任意节点
缺点:访问大文件,占用内存较多
DOM4J
===================
开源DOM API
练习
====================
JDBC 链接信息配置
作业
====================
用dom4j解析dept.xml,获得Dept对象