• 语法结构主要要求:

    (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. 利用libcurl进行post

    逛百度知道看到有个人提问:http://zhidao.baidu.com/question/1447092283140740700 C写HTTP应用只有疯子才会老老实实的SOCKET编程吧?我后来还是 ...

  2. # nodejs模块学习: express 解析

    # nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...

  3. JavaWeb 后端 <三> 之 Response Request 学习笔记

    一.响应对象 Response(重点:HTTP协议响应部分) 查看

  4. rang enumerate

    叨逼叨: 小知识点 rang enumerate # 1. 请输出1-10# 2.7: 立即生成所有数字# range(1,11) # 生成 1,23,,4,56.10# 3.x: 不会立即生成,只有 ...

  5. css 定位属性position的使用方法实例-----一个层叠窗口

    运行结果: <!DOCTYPE html> <html> <head> <title>重叠样式窗口</title> <style ty ...

  6. 父(Spring)子(SpringMVC)容器之初解篇

    Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而在实际开发中,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但在实际项目中,我们经常会 ...

  7. React Native App设置&Android版发布

    React Native系列 <逻辑性最强的React Native环境搭建与调试> <ReactNative开发工具有这一篇足矣> <解决React Native un ...

  8. install.php文件建表时设置编码方式

    DROP TABLE IF EXISTS `".$db_prefix."adminlog`;CREATE TABLE `".$db_prefix."adminl ...

  9. 运行Jmeter.bat出错:Not able to find java executor or version. Please check your installation. errorlevel=2

    下载JMeter. 解压后运行Jmeter.bat竟然报错了. 解决办法整理: 方法1: 1.检查JDK环境变量配置: ①系统变量→新增JAVA_HOME. 变量值填写jdk的安装目录(本人是 E:\ ...

  10. 【PHP】打印输出var_dump+echo+print_r

    var_dump 判断一个变量的类型与长度如:<?$a = 1;$b = 't';echo var_dump($ta,$tb); // 结果为 int(123) string(3) " ...