• 语法结构主要要求:

    (1)有且仅有一个根元素。 根元素也称文档元素,整个 XML 文档的其他元素都包含在根元素中,并通过嵌套形成树 型结构。除了根元素外,其他元素都是子元素。

    (2)每个元素必须有开始标记和结束标记,除非用特定的空元素标记“<元素/>”;  开始标记的格式是:<标记名称> 结束标记的格式是:</标记名称> 开始标记和结束标记将 XML 文档中的数据进行结构化组织,确定元素内容、范围和相互 关系。

    (3)元素必须正确嵌套。元素嵌套时不允许交叉,最先出现开始标记的元素,其结束标记最后出现。

    (4)所有的属性值必须放在双引号或单引号中。

    (5)如果文档没有 DTD,在缺省情况下,所有属性值的类型必须是“CDATA”。

  • 一个标准的 XML 文档由两大部分组成:文档头部(序言)和文档主体(文档元素)。   

  XML 声明是文档头部的第一条语句,也是整个文档的第一条语句。XML 声明语句的格式 如下:

    <?xml version=" version–number" encoding=" encoding –declaration" standalone=" standalone-status" ?>
  XML 声明语句,以:“<?xml”开始、以“?>”为结束,表示这是一个 XML 文档。在这条 声明语句中可以包含三个属性(三条信息):

    (1)XML 版本 Version:它表明使用的 XML 规范的版本号,以便解析器进行正确的解析。 注意:xml 和 version 必须小写

    (2)使用的字符集 在声明语句中,用 encoding 指定本 XML 文档使用的字符集。XML 文档中的字符遵守 Unicode 标准。为了能容纳所有国家、民族的字符,Unicode 采用 16 位编码。编码是 Unicode 字符的字节序列表示。XML 解析器至少能够识别 UTF-8 和 UTF-16 两种编码。英文用 UTF-8 编码。 如果使用简体汉字,必须给 encoding 属性赋值为“GB2312”。若指定繁体汉字赋值为 “BIG5”。

    (3)standalone 属性 standalone 属性指定本 XML 文档是否需要外部的 DTD 文档作为本文档的校验依据。也 即本 XML 文档是否是一个独立文档。默认值是“yes”,表示是独立文档不需要外部 DTD 关联,否则应该赋值为“no”。

  这三个属性中,Version 属性是必须的,并且必须放在“<?xml”符号之后,其他两个是 可选项,按需要加入,其出现顺序没有限制。

  • XML注释与HTML一样,均为<!---->
  • XML标记命名规则

    (1)标记必须以字母或下划线开头,后跟字母、数字、下划线、横线和圆点等,XML 名 称中不能包含空格,不能以字符串“xml”作为开头;

    (2)xmL 是大小写敏感;

    (3)标记不可重复定义。

  • 文档结构

    在 XML 文档中只有、也必须有一个根元素,它类似 HTML 中的<BODY>和</BODY>表示文档主体的开始和结束。除了根元素以外,其他所有元素都是子元素。

  • 标记属性

    (1)标记中可以使用多个属性,但属性名称不得重复;

    (2)属性名是大小写敏感的;

    (3)属性只能出现在起始标记或空标记中;

    (4)属性值必须用(英文)引号引上;

    (5)少用属性,尽可能用子元素。因为属性有几个缺陷:  属性值不能包含多重数值,但是元素可以;  属性值很难扩展;  属性不能描述结构内容,但是元素可以; 属性值很难通过 DTD 进行测试。

XML语法小结的更多相关文章

  1. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

  2. 【风马一族_xml】xml语法

    xml语法 文档声明 用来声明xml的属性,用来指挥解析引擎如何去解析当前xml 通常一个xml都要包含并且只能包含一个文档声明 xml的文档必须在整个xml的最前面,在文档声明之前不能有任何内容 & ...

  3. XML 语法规则

    转摘自:http://www.w3school.com.cn/xml/xml_elements.asp XML 语法规则 XML 文档包含 XML 元素. XML 的语法规则很简单,且很有逻辑.这些规 ...

  4. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  5. [SQLXML]FOR XML语法导出XML的易错之处

    原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...

  6. 利用XML语法 SQL 列转行

    --行转列 固定xml语法 declare @xml xml ; set @xml=cast('<v>2</v><v>4</v><v>3&l ...

  7. 雷林鹏分享:XML 语法规则

    XML 语法规则 XML 的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有的 XML 元素都必须有一个关闭标签 在 HTML 中,某些元素不必有一个关闭标签: This is a ...

  8. JavaWeb基础—XML学习小结

    一.概述 是什么? 指可扩展标记语言 能干什么? 传输和存储数据 怎么干? 需要自行定义标签. XML 独立于硬件.软件以及应用程序 通常.建立完xml文件后首要的任务是:引入约束文件! 二.XML简 ...

  9. JAVASE02-Unit012: Unit07: XML语法 、 XML解析

    Unit07: XML语法 . XML解析 emplist.xml <?xml version="1.0" encoding="UTF-8"?> & ...

随机推荐

  1. Http异步发送之HttpWebRequest的BeginGetResponse

    关于http异步发送,一开始我的做法都是用thread或者task去完成的:后来发现HttpWebRequest本身就提供一个异步的方法. 总感觉.Net自己提供的异步方法可能要优于我们自己用线程去实 ...

  2. Less 的使用

    Less 的使用 开发时直接使用 引用你的样式文件(main.less) (必须在less.min.js) 前引用 引用less.min.js 文件 <link href="resou ...

  3. C#窗体多语言切换(简繁)

    多窗体最好继承一个父窗体,在父窗体Load事件中执行此方法 添加引用 using Microsoft.VisualBasic; #region 语言切换 /// <summary> /// ...

  4. Oracle11g 创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题

    前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作Oracle数据库 一.创建表空间和用户      想要操作数据库,首先需要创建用户并给用户授予权限:在创建用户 ...

  5. JAVA程序打包成exe小程序的过程

    编程软件:myeclipse2014 打包exe软件:exe4j 1:在myeclipse2014新建java项目编写程序 2:打包成jar,分两种情况(有无外部依赖包) 无外部依赖包:点击项目--- ...

  6. xhr.readyState的就绪状态

    0:初始化,XMLHttpRequest对象还没有完成初始化 1:载入,XMLHttpRequest对象开始发送请求 2:载入完成,XMLHttpRequest对象的请求发送完成 3:解析,XMLHt ...

  7. 快学Scala之继承

        ## 1. 继承 Scala语言通过 extends 关键字来继承类. 那么继承一个类有什么好处呢? 子类除了拥有继承自超类的方法和字段(即为val(常量), var(变量)所定义的), 还可 ...

  8. 使用JS开发桌面端应用程序NW.js-2-开发问题小记

    前言 本文为开发nw中遇到的各种问题,仅以记录供备忘以及遇到相同问题的人的一点点解决思路. 1. package.json中的window字段无效 原因:package.json中的window字段, ...

  9. Java基础语法<一> 数据类型&运算符

    1 数据类型   1.1 整型 类型 存储需求 取值范围 int 4字节 -21 4748 3648 – 21 4748 3647 232 short 2字节 -32768-32767 216 lon ...

  10. lvs讲解

    作者写的就是好呀,简单明了,安逸的我也不知道早点看看,非得等到找工作了,在这里临时抱佛脚,以后再过来添加我自己的总结 http://www.linuxvirtualserver.org/zh/