• 语法结构主要要求:

    (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. 2017CCPC中南地区赛 H题(最长路)

    题目地址:202.197.224.59/OnlineJudge2/ 来自湘潭大学OJ. 这里用到了一个树的直径(树中的最长边)的结论:当你找到一棵树的最长边后,这个树中所有点的最长边必定和这条边的两个 ...

  2. 从浅入深剖析angular表单验证

    最近手上维护的组件剩下的BUG都是表单验证,而且公司的表单验证那块代码经历的几代人,里面的逻辑开始变得不清晰,而且代码结构不是很angular. 是很有必要深入了解表单验证. 入门之前,我觉得应该先了 ...

  3. 配置一个完整的 applicacontext.xml

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  4. Bootstrap模态弹出框

    前面的话 在 Bootstrap 框架中把模态弹出框统一称为 Modal.这种弹出框效果在大多数 Web 网站的交互中都可见.比如点击一个按钮弹出一个框,弹出的框可能是一段文件描述,也可能带有按钮操作 ...

  5. 将HTML导出生成word文档

    前言: 项目开发中遇到了需要将HTML页面的内容导出为一个word文档,所以有了这边随笔. 当然,项目开发又时间有点紧迫,第一时间想到的是用插件,所以百度了下.下面就介绍两个导出word文档的方法. ...

  6. 详解Java API之正则表达式

    正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...

  7. 单片机C语言基础编程源码六则2

    1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直 ...

  8. 1,入门-Hello Soring Boot

    什么是SpringBoot Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.大多数SpringBoot项目只需要很少的配置文件. SpringBoo ...

  9. 如何生成Azure SAS Token

    在Azure PaaS服务密钥的安全性文章中,提到过客户端实际上发送的是Token,而不是密钥.那么Token是该如何生成呢? Azure相应服务的SDK其实都提供了或者内置了生成Token的方法,可 ...

  10. C# 设计模式之空对象模式

    最近看了不少的书籍和视频等相关资料,决定自己边学习边写一下个人对设计模式的理解,如果有不对的请大家多多指正. 今天先说说我个人觉得最简单的设计模式 -- [空对象模式] 空对象模式可以减少客户端对对象 ...