首页 > 其他 > 详细

XML文件

时间:2021-03-05 22:07:55      阅读:26      评论:0      收藏:0      [点我收藏+]

我们访问网站的的时候,访问了某个路径,然后请求服务器上的资源,再出查看是否有该资源,有的话就会把这个资源相应给我们。一个虚拟路径对应一个类。为了灵活实现的不同路径执行不同的资源我们需要使用XML进行配置;为了限定XML内容,我们需要使用xml约束(DTD或schema);为了获得xml的内容,我们需要使用dom4j进行解析。

XML:称为Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由使用者自定义。

xml文档声明必须以<?xml  ?>结尾,必须在文档的第0行,第0列开始,文档声明只有属性: versioin:指定XML文档版本。必须属性,因为我们不会选择1.1,只会选择1.0;  encoding:指定当前文档的编码。可选属性,默认值是utf-8。

元素element 

1.元素是XML文档中最重要的组成部分,

2.普通元素的结构开始标签、元素体、结束标签组成。例如:<hello>大家好</hello>

3.元素体:元素体可以是元素,也可以是文本,例如:<b><a>你好</a ></b>

4.空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭介,例如:<c/>

5.元素命名:

a) 区分大小写

b) 不能使用空格,不能使用冒号:

c) 不建议以XML,  xml,  Xml开头

6.格式化良好的XML文档,必须只有一个根元素。

属性

1.属性是元素的一部分,它必须出现在元素的开始标签中

2.属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引

3.一个元素可以有O ~ N个属性,但一个元素中不能出现同名属性

4.属性名不能使用空格、冒号等特殊字符,且必须以字母开头

转义字符

技术分享图片

 

CDATA区

 

当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低。这时如果使用CDATA就可以解决此类问题。

DTD

用来约束XML文档,规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。我们一般使用框架中提供的DTD约束文档,编写XML文档。

我们打开一个web-app_2_3.dtd,看一下里面的声明

技术分享图片

 

定义元素语法:<!ELEMENT元素名 元素描述>

    元素名:自定义

    元素描述包括 : 符号和数据类型

          常见符号: ?  *  +  ()  |  ,

          常见类型:#PCDATA表示内容是文本,不能是子标签。

? 代表该对象可以出现,但是只能出现一次 * 代表该对象可以出任意次数,也可以是0次 + 该对象最少出现一次,也可以出现多次 ()用来给元素分组  | 表明列出的对象只能出现一个  , 表示该对象必须按照指定顺序出现。

我们文档约束文件复制到xml的同级目录下,将文档约束文件声明放到xml文件中去 alt +/就可以点出标签(元素)

约束分 DTD约束 (内部DTD 外部本地DTD 外部公共DTD)和 Schema约束(doctype声明写在了根标签中)

使用Schema约束 将文档约束文件复制到同级目录下 约束声明写到xml文件,再写一个结束标签即可。

我们对xml文件进行解析 解析方式常用 DOM:要求解析器把整个XML文档装载到内存,并解析成一个Document对象。解析器常用dom4j:比较常用的解析开发包,hibernate底层采用。

DOM的解析原理:XML DOM和HTML DOM类似,XML DOM将整个XML文档加载到内存,生成一个DOM树,并获得一个Document对象,通过Document对象就可以对DOM进行操作。导入dom4j.jar包,dom4j使用核心类SaxReader加载xml文档获得Document通过Document对象获得文档的根元素,然后就可以操作了。

技术分享图片

 

主要使用read()加载执行xml文档  getRootelement()获得根元素 elements获得指定名称的所有子元素 getText()获得当前元素的文本内容。

主要步骤 1加载xml文档,获取整个文档对象 2获取根元素对象 3获取我们想要的元素对象 4获取元素下的子元素对象 5获取文本节点 6获取字节码文件对象 7创建该类对象调用 成员方法

技术分享图片

 

XML文件

原文:https://www.cnblogs.com/cactus1/p/14487303.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!