传智播客Java培训---XML

今天学习了XMLExtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)

XMLHTML的不同:

  1 XML扩展性比HTML

  XML的标记语言可以自定义,这样可以提供更多的数据操作,而不像HTML一样,只能局限于按一定的格式显示出来。HTML的功能只有浏览器放入显示和打印,仅仅适合静态页面的要求。

  2 XML的语法比HTML严格

  由于XML的扩展性强,它需要稳定的基础规则来支持扩展。它的严格规则为:

       1、起始和结束的标签相匹配

       2、嵌套标签不能相互嵌套

 3、区分大小写

4属性值需要被引号声明。

5、当标签中的数据不需要被解析时,将该数据存储在CDATA区域中。<![CDATA[不需要被解析的数据]]>

  相对应XML的严格规则,HTML语言并没有规定标签的绝对位置,也不区分大小写,而这些全部由浏览器来完成识别和更正。

3XML常用于配置信息存储。

  建立配置有两中方式:

   1,以键值对形式存储的ini文件。name=value.

    通过流的形式对文件进行加载,通过Properties对数据进行获取。

   2xml文件。

    使用指定的解析方式(DOM,SAX)对数据进行获取。

      4,XML有特定的格式:<?xml version="1.0" encoding="gbk|utf=8" standalone="yes" ?>

              encoding 说明文档的字符编码 standalone 说明文档是否独立

              如果encodingstandalone同时出现,stadalone必须在encoding后面

5,对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

 

处理指令PI

处理指令是用来给处理XML文档的应用程序提供信息的,XML解析器把这些信息原封不动地传给应用程序,由应用程序来解释这个指令,遵照它所提供的信息进行处理。处理指令应该遵循下面的格式:

<? 处理指令名 处理指令信息?>

 

XML元素命名规范:

       不能以数字或下划线开头

不能以xml(或XML、或Xml 等)开头

不能包含空格

名称中间不能包含冒号(:)

 

转义字符:

对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。

     

 

XML约束:

XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束,常用的约束技术有两种:

DTD:约束模式文件。可以标记型文档进行约束。后缀为.dtd

Schema:以xml规则及语法来定义约束模式。后缀为.xsd

 

命名空间:

自定义标签容易出现相同标签表示不同内容的情况。通过声明该标签所属的空间,以示区分。在定义空间名称的时候,通常以url来定义,为了保证空间的唯一性。

 

XML文档解析:     

对标记型文档,标准化组织指定了简便的解析方式:

   1DOM解析l

    原理:将标记型文档封装成对象。document  DOM树,根节点。节点

      将标记型文档中的元素,属性,及其他组成部分也封装成对象。

      封装对象好处:可以对该事物进行描述,定义属性和行为。

      那么有了对象,就可以指挥对象做事情。

      可以对标记型文档进行修改。

      当标记型文档体积超大的时候,DOM解析会比较慢,原因是:必须先将DOM树加载进内存。

   2SAX解析:

    原理:基于事件驱动的解析方式。

      并一行一行的解析标记型文档。

      只能读取文档数据。不可以做修改动作。

      对大体积的文档它的效率要比DOM快。

     

为了方便于程序员对标记型的解析,针对于每一个高级语言比如java都提供了解析工具。

JDOM:较为少用。

DOM4J:较为常用的解析工具。

JAXPjavase中提供的解析工具,它有基于两种解析方式的对象。

 

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值