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,特殊符号要显示的话,必须转义
&       &amp;
< &lt;
> &gt;
" &quot;
' &apos;
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、完成案例



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脚踢球时被踢肿了变紫了怎么办 没钱去健身房想要练出好身材怎么办 群里有人发反政府视频怎么办 部队取消番号后之前军人档案怎么办 新疆武警黄金部队新兵改革后怎么办 别人偷了自己的东西没有证据怎么办 家里项链被邻居偷了没有证据怎么办 知道是谁偷钱都是没有证据怎么办 武警驾照开地方车被交警拦了怎么办 双手擦了纤体瘦身膏辣疼怎么办 乳房全切术后切口裂开化脓怎么办 擦了锁水的霜之后出汗怎么办 用完瘦脸霜感觉脸部又痒又烧怎么办 嘴角起好多的小炮泡怎么办快好 DNF龙腾光环领错角色怎么办 海盗来了卡在新手奖励怎么办 海盗来了获得新手奖励卡了怎么办 魔域帐号忘了哪个区的了怎么办 魔域口袋版幻兽栏满了怎么办 苹果平板的密码和邮箱都忘了怎么办 二级报名忘了邮箱和密码怎么办 用身份证买的手机号变成空号怎么办 魔域口袋版背包幻兽满了怎么办? 魔域宝宝转世满了还不变雷怎么办 魔域口袋版家族试炼士气不足怎么办 聚水潭暂存位没有箱号怎么办? 长时间不锻炼运动后浑身酸痛怎么办 体脂称身体年龄比实际年龄大怎么办 分手两天我好难过好想去找他怎么办 宝宝一吃药就哭得很厉害怎么办 比你入职晚的同事比你厉害怎么办 nba篮球大师能力值满了怎么办 做什么都觉得很累没有兴趣怎么办 剧烈运动后头晕恶心想吐怎么办 剧烈运动完头晕恶心想吐怎么办 小孩头部摔到地上想吐头晕怎么办 肺部化疗恶心反胃怎么办吃什么药好 好久没运动一运动全身酸痛怎么办 怀孕两个月了一直吐没体力怎么办 公务员审查六级口语证丢了怎么办 农资经营如果被执法查处了怎么办?