• 语法结构主要要求:

    (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. C#注册表操作类--完整优化版

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...

  2. Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API

    除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...

  3. 如何将App程序发布到苹果App Store

    原文网上抄录 发布步骤登陆苹果开发者中心http://developer.apple.com(99美元账号)进入itunes connect选择Manage Your Apps选择Add New Ap ...

  4. epii.js简约而不简单的JS模板引擎

    epii.js是什么 epii.js是一个 模板引擎,可快速实现数据与ui绑定,快速实现事件绑定,与处理,不依赖任何第三方库,仅仅8k,在native+webapp开发 和 web开发,h5微网页上均 ...

  5. CJOJ 1071 【Uva】硬币问题(动态规划)

    CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为 ...

  6. HDU 5616 Jam's balance(DP)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5616 题目: Jam's balance Time Limit: 2000/1000 MS (Java ...

  7. crm维护踩坑记(一)

    目录 antd es6 Object.entries() Object.keys() Object.getOwnPropertyNames() 很神奇的用法!!! eslint 傻逼 其他 参考 an ...

  8. 没写完。。51nod_1630: B君的竞技场(期望 概率)

    题目链接 根据 你可以认为B君的水平是在所有人中的等概率随机 ,设 每场中B君获胜的概率为p~U(0,1),在给定的x,y下至游戏结束B君的获胜场数为f(p) (这是一个关于p的函数), 由此

  9. nyoj_118:修路方案(次小生成树)

    题目链接 题意,判断次小生成树与最小生成树的权值和是否相等. 豆丁文档-- A-star和第k短路和次小生成树和Yen和MPS寻路算法 法一: 先求一次最小生成树,将这棵树上的边加入一个向量中,再判断 ...

  10. 开始编写寄几的 CSS 基础库

    前言 在现在的互联网业务中,前端开发人员往往需要支持比较多的项目数量.很多公司只有 1-2 名前端开发人员,这其中还不乏规模比较大的公司.这时前端同学就需要独挡一面支持整个公司上下的前端业务,项目如流 ...