xml文件的结构

来源:互联网 发布:矩阵论课件 编辑:程序博客网 时间:2024/05/20 04:28

xml文件由序言,元素(空元素,非空元素)和杂项三部分组成。

序言的结构:

xml的声明信息:

<?xml 版本信息 (编码信息) 文档独立性信息 ?>

版本信息用于说明xml语言是用的版本,版本为1.0或者1.1 :version="1.0"

编码信息用于说明xml的编码语言,如果为中文则表示为:encoding="gb2312"

文档独立性信息用于说明xml文件是否可以独立而不依赖其它文档:standalone="yes"表示独立显示。

文档类型声明:

 1。在其他文件中声明文档类型

<!DOCTYPE MYDOC SYSTEM "mydoc.dtd">

2。在xml文档中直接定义文档类型

<!DOCTYPE BIDS [ <!ELEMENT AUCTIONBLOCK(ITEMS,BIDS)> ]>

 元素的结构:

元素的内容=(子元素|字符数据|字符数据段|引用|处理指令|注释)*

字符数据:文本内容没有使用标记和实体引用。

除字符数据外,其他元素内容都使用了标记或者实体引用的符号。

另外字符数据中也不能含有 :"^",">","&","]]>".

xml预定义实体:

实体引用方式 代表的元素 &amp; & &lt; < &gt; > &apos; , quot; "

 字符数据段:

xml中不希望xml处理的文字片断或者代码,脚本片段。

字符数据段="<!CDATA["+字符数据+"]]>"

字符数据段必须放在根元素中:

例如:

<?xml version="1.0" standalone="yes"?>
<Root>
<head>my test</head>
<![CDATA[<html><body>cdata test !</body></html>]]>
</Root>
用浏览器打开结果如下:

  <?xml version="1.0" standalone="yes" ?>
- <Root>
  <head>my test</head>
- <![CDATA[
<html><body>cdata test !</body></html>
  ]]>
  </Root>

 引用分为实体引用,字符引用。

实体引用首先需要声明,然后进行引用。声明时使用ENTITY关键字进行,引用使用&+实体引用名称+;进行用用。

实体引用示例:

<?xml version="1.0" encoding="gb2312"?>

<!DOCTYPE 就业信息[

<!ENTITY company "连通公司">

]>

<就业信息>&company;</就业信息>

&company;这个实体引用被解析后会还原为原来的数据“连通公司”。

字符引用:

字符引用使用字符的ascii值,格式:&#+字符的ascii值+;

字符引用示例:

<?xml version="1.0"?>
<chars>
<A1>&#174;</A1>
<B1>&#169;</B1>
<C1>&#164;</C1>
</chars>

字符引用在输出时被解析为实际的字符,以上内容显示在浏览器中的结果就是:

<?xml version="1.0" ?>

- <chars>
  <A1>®</A1>
  <B1>©</B1>
  <C1>¤</C1>
  </chars>

杂项包含:

1。处理指令

是xml为其他应用程序准备的接口。指定外界的应用程序来处理xml中的非xml数据。

2。注释

是可以忽略的说明性的文字

3。空白符

空格,回车,换行等无法显示的字符

格式良好的xml文件必需做到以下几点:

1。文档从xml声明开始

<?xml version="1.0"?>

这段声明之前不能有空格或者其它字符,即<?xml version="1.0"?>必需位于xml文件的第一行,第一列,并且在<?和xml之间不能包含空格。否则都是错误的。

2。xml只能包含唯一的根元素

正确示例如下:

<?xml version="1.0"?>

<man>

<head>head</head>

<body>body</body>

</man>

错误的示例包含两个根元素<head><body>。

<?xml version="1.0"?>

<head>head</head>

<body>body</body>

3。标记必需闭合

4。空标记约定

表示方式:<空标记/>

空标记可以有属性

5。必需层层嵌套

子元素必需嵌套在父元素内,不能互相交错。

同层元素必需互相并列,不能互相嵌套。

6。区分大小写

元素的起始标记和结束标记必需一致。

7。属性设置

属性的设置必需使用引号。

8。特殊字符的表示方法

使用预定义实体引用的方式引用:

错误写法: <compare>3<6</compare>

正确写法:<compare>3&lt;6</compare>