加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml总结

发布时间:2020-12-16 00:37:40 所属栏目:百科 来源:网络整理
导读:一、XML的作用 1、XML是可扩展的标记语言。允许用户自定标签。 2、它被设计的宗旨是“描述数据”,而非显示数据(相对于html来讲) 3、XML的标准是由W3C(万维网联盟)指定的,目前的版本为1.0 4、应用:作为配置文件 方式一:*.properties。key=value的形式
一、XML的作用
1、XML是可扩展的标记语言。允许用户自定标签。
2、它被设计的宗旨是“描述数据”,而非显示数据(相对于html来讲)
3、XML的标准是由W3C(万维网联盟)指定的,目前的版本为1.0
4、应用:作为配置文件
方式一:*.properties。key=value的形式。无法描述层次关系
方式二:xml作为配置文件。灵活,且能描述层次关系

二、XML的基本语法(1~6)
1、XML文档声明
a、表明了这是一个XML文档;必须出现在第一行;
b、属性:
*version:指定使用的版本号。1.0
*encoding:指定xml中出现的字符使用的编码。
注意:保存到磁盘上的文件所使用的编码要与XMl中声明的编码一致。
默认编码为:UTF-8
standalone:是否是单独存在(是否依赖其他的文件)。yes|no
2、XML的元素
a、必须含有开始和结束标签
b、合理嵌套
c、必须且只有一个根元素
注意:XML中不会忽略空格和换行
d、严格区分大小写
3、XML标签的属性
a、属性的取值必须使用引号引起来
b、同一个标签中的属性名称不能重复
4、XML的注释
语法:<!--这是注释-->
a、注释要合理嵌套
b、XML声明前不能有注释
5、CDATA区
是character data的缩写
作用:被CDATA区包围的内容,会当做普通字符串处理
语法:<![CDATA[
这是普通文本内容
]]>
6、特殊字符(转义字符)
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;
7、xml的指令
作用:用来指挥软件如何解析XML文档
语法:必须以“<?”作为开头,以“?>”作为结尾。
三、XML的约束之DTD
1、概念:
格式良好的XML文档:遵守XML语法的文档
有效的XML文档:遵守约束的文档。
有效的XML文档必定是格式良好的。但格式良好的不一定是有效的。
2、约束文档定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等
3、dtd文件的扩展名是dtd。保存到磁盘上时必须使用UTF-8编码
4、DTD文档的编写方式
方式一:直接写在XML文件中(不用考虑编码问题)
语法:
<!DOCTYPE 根元素 [
DTD的声明
]>
方式二:写在单独文件中(文件必须使用UTF-8)
DTD文档在本地
语法:<!DOCTYPE 根元素 SYSTEM "DTD文档的路径">
DTD文档在网上
语法:<!DOCTYPE 根元素 PUBLIC "DTD的名称" "DTD的URL地址">
5、DTD的语法(看懂DTD)
5.1定义元素
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA):Parsed Character Data已解析的字符串。(普通文本)
作用:指定元素的主体内容为普通文本
EMPTY:指定该元素为一个空元素。即没有主体内容
ANY:用于指示元素的主体内容为任意类型
(子元素):指定该元素的孩子元素
子元素如果用逗号分隔,必须按照顺序编写子元素
如果子元素用“|”分开,说明任选其一
元素的出现的次数:
+:至少一次
*:0次或一次或多次
?:0次或一次
什么都不带:必须一次
5.2定义元素的属性(定以前元素必须存在)
语法:
<!ATTLIST 元素名称
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明>
属性值类型:
CDATA:指定该属性的取值为普通字符
ENUMERATED (DTD没有此关键字):表示枚举,只能从枚举列表中任选其一,如(鸡肉|牛肉|猪肉|鱼肉)
ID:表示属性的取值不能重复

设置说明:
#REQURIED:必须的
#IMPLIED:该属性不是必须的
#FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值"
直接值:表示属性的取值为该默认值
5.3定义实体
定义实体就是为一段内容指定一个名称,使用时通过这个名称就可以引用其所代表的内容。

情况一:
引用实体:在DTD中定义,在XML中使用
语法:<!ENTITY 实体名称 "实体内容">
在xml中引用:&实体名称;
情况二:
参数实体:在DTD中定义,在DTD中使用(单独的dtd文件中)
语法:<!ENTITY % 实体名称 “实体内容”>
使用方式(注意是在DTD中使用):%实体名称;


四、XML的数据解析
1、DOM方式
Document Object Model,文档对象模型。这种方式是W3C推荐的处理XML的一种方式。
把XML文档当做一个树对待;对于增删改查非常地方便。
缺点:构建此树,必须加载整个xml文档。导致内存溢出(XML文件很大)。
org.w3c.*
2、SAX方式(推)
Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,几乎所有的XML解析器都支持它。
优点:读取到文档的某一部分时就进行解析。占用内存小。
缺点:只能读。
org.sax.*;
3、PULL方式(拉)
这种方式不是官方标准。http://www.xmlpull.org
优点:读取到文档的某一部分时就进行解析。占用内存小。
缺点:只能读。
org.xmlpull.*;
五、具体编程
1、JAXP进行DOM方式解析
SUN公司指定的。包含在JDK中。
JAXP相关的类放在了javax.xml.*
2、JAXP进行SAX方式解析
3、XMLPULL进行PULL解析
4、DOM4J解析开发包
六、XPATH

七、JUnit单元测试

八、XML的约束之Schema(看懂Schema)
1、Schema约束本身就是一个xml文件,扩展名为xsd
2、Schema文档的跟节点固定为schema
3、根据Schema编写XML头不信息的步骤:
a、查看Schema文档,找到根元素。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读