xml简介

XML文档使用的是自描述的和简单的语法,一个XML文档最基本的构成包括:声明,处理指令(可选)和元素。以下是一个简单的XML文档:

 1 <!--[if !vml]--><!--[endif]--><?xml version ="1.0" encoding ="GB2312" standalone="yes" ?>
 2 <!--[if !vml]--><!--[endif]--><?XML-stylesheet type="text/xsl" href="yxfqust.xsl" ?>
 3 <!--[if !vml]--><!--[endif]--><!--以下是一个学生名单-->
 4 <!--[if !vml]--><!--[endif]--><学生名单>
 5 <!--[if !vml]--><!--[endif]-->    <学生>
 6 <!--[if !vml]--><!--[endif]-->      <学号>2003081205</学号>
 7 <!--[if !vml]--><!--[endif]-->      <姓名>田淋</姓名>
 8 <!--[if !vml]--><!--[endif]-->      <班级>03.2</班级>
 9 <!--[if !vml]--><!--[endif]-->    </学生>
10 <!--[if !vml]--><!--[endif]-->    <学生>
11 <!--[if !vml]--><!--[endif]-->      <学号>2003081232</学号>
12 <!--[if !vml]--><!--[endif]-->      <姓名>杨雪锋</姓名>
13 <!--[if !vml]--><!--[endif]-->      <班级>03.2</班级>
14 <!--[if !vml]--><!--[endif]-->    </学生>
15 <!--[if !vml]--><!--[endif]--></学生名单>

1行是XML声明,第2行是处理指令,第3行是注释,415就是文档的各个元素。(注:XML标记都是大小写敏感的).
一。文档的声明:

<!--[if !vml]--><!--[endif]--><?XML version="1.0" encoding="GB2312" standalone="yes"?>
<!--[if !vml]--><!--[endif]-->

XML标记说明它是一个xml文档,后面两个属性值表明了它的版本号和编码标准,standaloneyes表明该文件未引明其他外部XML文件。
二。处理指令
  
格式:<?处理指令名 处理指令信息 >

<!--[if !vml]--><!--[endif]--><?XML-stylesheet type="text/xsl" href="yxfqust.xsl" ?>

三。注释:
格式:<!--注释内容-->

<!--[if !vml]--><!--[endif]--><!--以下是一个学生名单-->

注释应注意的问题:
       1.
注释不能出现在XML声明之前;
       2.
注释不能出现在标记中;
       3.
注释中不能出现连续两个连字符,即"--如:<!--this is  a bad document.--do you know!-->
       4.
注释中可包含元素,但元素中不能包含"--"包含的元素解析时被忽略;
       5.
注释不能嵌套;
四。元素与标记:
      
所有的XML元素必须合理包含,且所有的XML文档必须有一个根元素。如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的出现。XML语法规范要求XML元素属性值必须用引号引着。请看下面的两个例子,第一个是错误的,第二个是正确的。

<!--[if !vml]--><!--[endif]--><?XML version="1.0" encoding="ISO-8859-1"?>
<!--[if !vml]--><!--[endif]-->
<note date=12/11/2002>
<!--[if !vml]--><!--[endif]-->
<to>Tove</to>
<!--[if !vml]--><!--[endif]-->
<from>Jani</from>
<!--[if !vml]--><!--[endif]-->
</note>
<!--[if !vml]--><!--[endif]-->
---------------------------
<!--[if !vml]--><!--[endif]-->
<?XML version="1.0" encoding="ISO-8859-1"?>
<!--[if !vml]--><!--[endif]-->
<note date="12/11/2002">
<!--[if !vml]--><!--[endif]-->
<to>Tove</to>
<!--[if !vml]--><!--[endif]-->
<from>Jani</from>
<!--[if !vml]--><!--[endif]-->
</note>

格式:<标记 属性名1"1".......>数据内容</标记>
XML
元素是可以扩展的,它们之间有关联,XML元素有简单的命名规则:

·  Names can contain letters, numbers, and other characters (元素的名字可以包含子母,数字和其他字符。)

·  Names must not start with a number or punctuation character (元素的名字不能以数字或者标点符号开头。)

·  Names must not start with the letters XML (or XML or Xml ..) (元素的名字不能以XML(或者xmlXml,xMl...)开头。)

·  Names cannot contain spaces(元素的名字不能包含空格。)

元素是XML文档的灵魂,它构成了文档的主要内容。XML元素则是由标记来定义的,同时标记分为非空标记和空标记。
       1.
非空标记格式:
   <
标记>元素内容</标记>    如:

<!--[if !vml]--><!--[endif]-->   <学号>2003081205</学号>
<!--[if !vml]--><!--[endif]-->   
<姓名>田淋</姓名>
<!--[if !vml]--><!--[endif]-->   
<班级>03.2</班级>

      2.空标记格式:
 <
标记名 属性名="属性值" 属性名="属性值"......> 如:<田淋 学号="2003081205">

同时元素也支持合理的嵌套,如上面的文档例子,学生名单与学生就是一层嵌套。嵌套需满足以下规则:
      1.
所有XML文档都从一个根节点开始,根节点包含了一个根元素;
      2.
文档内所有其他元素必须包含在根元素中;
      3.
嵌套在内的为子元素,同一层的互为兄弟元素;
      4.
子元素还可以包含子元素;
      5.
包含子元素的元素称为分支,没有子元素的元素称为树叶;
数据既可以存储在子元素中也可以存储在属性中,应尽量使用子元素而避免使用属性。原因如下:

·  attributes cannot contain multiple values (child elements can) (属性不能包含多个值(子元素可以))

·  attributes are not easily expandable (for future changes) (属性不容易扩展)

·  attributes cannot describe structures (child elements can) (属性不能够描述结构(子元素可以))

·  attributes are more difficult to manipulate by program code (属性很难被程序代码处理)

·   attribute values are not easy to test against a Document Type Definition (DTD) - which is used to define the legal elements of an XML document( 属性值很难通过 DTD 进行测试 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值