(3)元素

元素

 元素是XML文档的基本单元,其中可以包含其他的元素、字符数据、字符引用、实体引用、PI、注释以及CDATA节,它们合在一起被称做元素内容(element content),相当于一个盛放文档内容的容器。
 在XML文档中,所有的“内容”都必须被各种各样大大小小的容器封装起来,然后在容器上标示出对承载内容进行说明的标记,所有的XML数据(除了根元素、注释、PI和空白)都必须包容在其他元素中。
 一个元素包含一个起始标记、一个结束标记及标记之间的数据内容,格式如下:
         <标记>数据内容</标记>
 元素使用标记(tag)进行分隔,由一对尖括号(“< >”)围住元素类型名(一个字符串)。每一个元素都必须由一个起始标记和一个结束标记分隔开,这与要求比较宽松的HTML文档不同,后者的结束标记可以省略。

说明:
1)XML元素的标记名称也就是该元素的名称。
2)开始标记和结束标记必须配对使用(没有内容的空元素除外)。起始标记和结束标记必须一样,只是在结束标记 的名称前需要加“/”。
3)XML是大小写敏感的。下面的两个例子不是等同的标记。
<BookList>content</BookList>
<bookList>content</booklist>
4)各个元素的起始标记和结束标记可以嵌套使用,但不能交叉使用。
5)在元素的起始标记中,可以为该元素添加若干个相关的属性数据。
   标记的基本语法形式:< 标记名[[属性名1=” 属性值1”] [属性名2=” 属性值2”] …]>

标记的名称必须符合以下规则:
(1)标记名字必须以英文字母或下划线“_”开头,中文标记名称必须以汉字或下划线“_”开头。
(2)在使用默认字符集的情况下,标记名称可由零个或多个字母、数字、句点“.”、连字符(-),或底划线“_”构成。
(3)XML解析器对标记名称中的英文字母大小写是敏感的。
(4)标记名称中不能含有空格。
(5)冒号“:”被保留作为名称空间的分隔符

元素的类型

 XML元素由XML标记来定义。XML标记有两种:非空标记与空标记。相应的,XML元素也就有非空元素与空元素之分。   1.非空标记与非空元素   
  非空标记由开始标记和结束标记组成。对于XML文档,起始标记和结束标记有着非常重要的作用,它们将文档的数据进行结构化组织,并确定元素的范围和相互关系。
  非空元素由非空标记来定义,其一般表示形式如下:  
      <标记名>元素内容</标记名>   
  非空标记必须是对称性标记,起始标记和结束标记同名。在XML文档中,起始标记和结束标记之间一定要有其他内容、字符数据或其他标记。
如:
 <?xml version="1.0" encoding="gb2312"?>
<!—非空元素举例-->
<客户>
<公司名称>东南实业</公司名称>
<联系人>王先生</联系人>
<职位>销售经理</职位>
<地址>临江东街62号</地址>
<电话>65785678</电话>
</客户>

   2.空标记与空元素  
  所谓空元素是指没有内容的元素,即在开始标记与结束标记之间既无数据内容也无属下的子元素。
    例如下面的元素:
      <RESUME></RESUME>
    此种情况下,可将上面的空元素写成: <RESUME/>

  空元素虽然没有具体的内容,却具有下面两种可能的用途:可使用空元素告诉XML应用程序,执行某个动作或显示某个对象,例如,HTML中“BR”是空元素,它能告诉浏览器加入一个换行符:“HR”也是空元素,用来告诉浏览器加入一个水平分界线。
   空元素可以通过属性来储存信息。许多空元素都可以携带各种属性:
         <东南实业 联系人="王先生" 电话="65785678"/>

元素的属性

  XML元素与HTML元素一样,可以用属性来表达数据。元素可以有多个属性,但每个属性都是由一个“名称—数值”对组成,名称和数值分别为一个字符串,同一个元素不能有两个同名的属性。
 例如我们表达一个矩形时,它的长和宽就成为了矩形的属性,如
       <矩形 长=“40” 宽=“60”/>
 属性名是字符串,遵循与标记名同样的规则。 对于非空元素,其属性的定义格式如下:
        <标记名 属性名="属性值" 属性名="属性值"...>数据内容</标记名> 
  对于空元素,属性的定义格式如下:
        <标记名 属性名="属性值" 属性名="属性值".../ >

属性值的定义应遵守下面规则:
1)属性值字符串应该使用半角的单引号或双引号括起来。
2)属性值的字符串中不能包含用来界定属性值的引号。当属性值本身含有单引号时,应该用双引号括起来;当属性值本身含有双引号时,应该用单引号括起来。
3)属性值的字符串中不能包含“<”、“>”、“&”、单引号和双引号等字符,但可以包含预定义的特殊字符编码或内部实体引用。

例子:
<?xml version=“1.0” encoding=“UTF-8” standalone=“no”?>
<BookList>
 <Book ISBN=“7-5606-0924-4/TP0851”>       <Title>软件工程</Title>
    <Abstract>介绍软件工程理论...</Abstract>      <Author>邓良松</Author>
       <Category>计算机</Category>
       <Publisher>西安电子科技大学出版社</Publisher>
       <PubDate>2001年6月</PubDate>
       <Price>20.00</Price>
  </Book>
  <Book ISBN="7-5606-0492-7/TP0229">         <Title>软件系统开发技术(修订版)</Title>
      <Abstract>介绍软件系统的开发技术...</Abstract>
      <Author>潘锦平</Author>
      <Category>计算机</Category>
      <Publisher>西安电子科技大学出版社</Publisher>
      <PubDate>2001年1月</PubDate>
      <Price>12.30</Price>
  </Book>
</BookList>

  何时使用子元素及何时使用属性并没有严格的规范可以遵循。一个好的经验规则是数据本身应当存储在元素中,而有关数据的信息(元数据)应当存储在属性中;不知道怎么做时,就把信息放在元素中。

元素嵌套

  XML规范指出:一个格式正确的XML文档必须明确地拥有一个唯一的顶层元素,该元素被称为文档元素或根元素,而其它所有的元素都被嵌套在这个元素之下。事实上,XML文档中几乎所有的元素都是以嵌套形式存在的。

例子:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<BookList>
  <Book>
     <ISBN>7-5606-0924-4/TP0851</ISBN>          <Title>软件工程</Title>
        <Abstract>介绍软件工程理论...</Abstract>    
        <Author>
           <Name>邓良松</Name>
           <Gender>男</Gender> 
        </Author>
      <Category>计算机</Category>
      <Publisher>西安电子科技大学出版社</Publisher>
      <PubDate>2001年6月</PubDate>
      <Price>20.00</Price>
   </Book>
   <Book>
      <ISBN>7-5606-0492-7/TP0229</ISBN>          <Title>软件系统开发技术(修订版)</Title>
         <Abstract>介绍软件系统的开发技术...</Abstract>
         <Author> 
            <Name>潘锦平</Name>
            <Gender>男</Gender> 
         </Author>
       <Category>计算机</Category>
       <Publisher>西安电子科技大学出版社</Publisher>
       <PubDate>2001年1月</PubDate>
       <Price>12.30</Price>
   </Book>
</BookList>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值