xml文件的结构解读

  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预定义实体:

  实体引用方式 代表的元素

  & &

  < <

  > >

  &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>®</A1>

  <B1>©</B1>

  <C1>¤</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<6</compare>