xml的概述

xml的概述

一、xml的概述

 1.xml的概念

  xml的全称是Extensible Markup Language 可扩展标记语言。它是由SGML(Standard   Gerneralized Markup language)发展而来的,允许开发者自定标签,可以将标签和内 容有效的分离。

 2.Xml与html的区别

 Xml用来传输和存储的数据的。它可以自定义标签.

     Html:显示数据<p></p> <p><p>

   所以说xml并不是用来代替html的,二者的为不同的目的而设计。

 3.Xml的优势

 (1)简单易用

 (2)严格的格式---xml的基本语法

Xml是平台无关的数据交换语言,Java是平台无关的编程语言

 (3)数据逻辑与显示逻辑分离 ---看似MVC模式理解

 4.Xml和JavaEE

 (1) 配置描述

JavaEE 最开始接触的JSP技术,在web.xml中可以配置Servlet,Filter和Listener体现了xml的应用。

Struts1  struts-config.xml

Hibernate  hibernate.cfg.xml   xxx.hbm.xml

Struts2   struts.xml

Spring2.5 bean.xml  

 (2)简化的数据交换

 (3)Web Services

   Web Services使用基于xml的消息处理作为数据通讯方式,消除了不同组件模型、操作系统和编程语言之间存在的差异,使异构系统能作为单个计算机网络协同运行

二、xml文档规范

  1.Xml文档的分类

 (1)格式不良好(malformed)的xml文档:完全没有遵守xml文的基本规范的xml文档。

 2格式良好(well-formed)的但无效的xml文档: 遵守xml文的基本规范,但没有使 用dtd或schema定义语义约束的xml文档。

     3有效(valid)的xml文档:遵守xml文的基本规范,并使用dtd或schema定义语 义约束,而且也完全遵守了dtd或schema定义语义约束的xml文档。

  2.Xml的语法

(1)Xml的声明

最简单声明

 <?xml version=”1.0”?>

Encoding属性:字符编码 如果没有指定默认的是UTF-8编码

常见的字符集:

简体中文:GBK 或GB2312

繁体中文: BIG5

西欧字符:ISO8859-1

通用的国际编码:Unicode  UTF-8

Standalone:指定该文档是否需要引用其它资源,属性值只有:yes或no

Yes:独立

No:不独立 

(2)Xml元素的基本规则

  元素是xml文档的基本单元,xml文档就是一个一个层层嵌套的元素组成的。整个 的xml文档从根元素开始,根元素包含若干个子元素,而每个子元素又可以包含若干个 子元素,从而可以组成一个xml文档。

三、Xml标签语法

  1.Xml的标签分为两类

 单标记:<商丘/>

 双标记:<中国></中国>

  2.xml标签的要求

 (1)标签名可以有字母(包括非西欧字符)、数字、下划线(_)、中划线(-)、冒号(:)和 点号(.)组成,但不能以数字、中划线和点号开头。

     (2)标签名不能包含<、>、,、$等符号

 (3)标签名种尽量不要出现英文的冒号(:),除非在使用命名空间。

     (4)标签名不能以字符xml、XML等任意大小写组合开始。

 (5)标签名不能包含空格。

 (6)标签名区分大小写

 3.xml标签嵌套子元素:xml允许深度嵌套子元素,只要保证元素之间合理的嵌套即可.而    且xml元素可以嵌套多个重名的子元素,这多个子元素之间是有序的。

 4.空元素:空元素不可以接受子元素,也不可以接受字符串内容。

     第三个xml:

      <book>

         <name>redarmy</name>

         <content/>  :备注:空元素 但可以接受属性,而且可以接受多个属性

      </book>

      <book>

         <name>redarmy</name>

         <content></content> :备注它包好的是一个空格 空格也是字符

      </book>

例如空元素接受属性:

    <book name=”Java建议” price=”30”/>

 5.字符数据

   <book>

      <computer>Struts2开发详解</computer>

      <computer>

         Struts2开发详解

      </computer>

   </book>

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

  如果文本字符中包含了一些特殊的字符,例如<和&由于这些字符都有特殊的含义,因此直接在xml文档中使用该字符串将引起文档的混乱。

   <表达式>

        <比较符>1+3<6</比较符>-----------------------------错误的       

   </表达式>      

有以下两种方法解决:

(1)使用实体引用:用另一个特殊符号代替这些特殊符号

(2)使用CDATA标记:将整个文档定义成字符串。

 (1)使用实体引用

解决如下:

 <?xml version="1.0" encoding="UTF-8"?>

  <表达式>

        <比较符>1+3<6</比较符>

      </表达式>

 (2)使用CDATA标记

在特殊标记CDATA下,所有的特殊字符,甚至是有效的元素都将被当成简单的字符串处  理。实体引用也会失去作用,变成直接的文本。

CDATA的语法格式如下:

 <![CDATA[文本内容]]>

<?xml version="1.0" encoding="UTF-8"?>

  <表达式>

        <比较符>

  <![CDATA[

    1+3<6

   ]]>

</比较符>

  </表达式>

备注:由于xml文档根本不会对CDATA标记内容进行任何解析,因此在CDATA内可以放 置任何内容,其中的内容永远不会出错。

 6.注释

    Xml文档还可以加入解释用的字符数据,这些解释用的字符串不会被xml解析器处   理。这些解释用的文本称为注释。Xml的文档注释与html完全一致。

Xml注释的语法格式如下:

<!--注释字符串 -->

Xml的注释允许包含元素和标签。

注意:

  (1)Xml的注释不能够放在标签体内。

  (2)不要把xml文档放在xml文档声明之前  xml文档的声明永远在第一行

  (3)不在注释中使用双中划线(--)

7.处理指令

处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

处理指令用于给处理xml文档的应用程序提供信息,告诉处理程序应该如何处理该文档。一个完备的xml文档的处理程序,可以读取xml文档的处理指令,并根据处理指令进行相应处理,或将它传给下一个程序。

Xml处理指令的格式如下:

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

8.属性

  xml属性的特征:

 (1)xml元素的属性必须有属性值,属性值必须用引号引起来。

 (2)同一个xml元素里不能有多个同名的属性

 (3)Xml元素里的多个属性之间没有先后顺序。

<book>

     <isbn>123456780</isbn>

     <book_name>Java讲义</book_name>

      <price>99</price>

</book>

比如说 这个book本身就有 isbn  book_name price的属性

那么

 <book isbn=”” book_name=”” price=””/> 

Xml文档的整体结构

 (1)必须有一个根元素(有且只有一个)

 (2)元素必须合理结束

 (3)元素之间必须合理嵌套

 (4)元素的属性必须有属性值

只要不满足上面的条件就是一个格式不良好的xml文档

只要满足上面的条件就是一个格式良好的xml文档

并且遵守了dtd或者schema就是一个有效的xml文档。

Xml文档是一种标准的结构化文档,可以转换成DOM(Document Object Model)树,其根节点对应DOM树的根节点。

<book>

    <computer>

       <name>网上介绍</name>

       <author>redarmy</author>

    </computer>

    <computer>

        <name>网上介绍</name>

       <author>redarmy</author>

    </computer>

</book>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值