XML 之 语法详解
一、文档规则
、区分大小写。
、属性值必须加引号(单引号、双引号都可以),一般情况下建议使用使用双引号。
、所有标记必须有结束符号。
、所有空标记必须关闭。
、必须有且仅有一根元素。
、解析空白字符时,会按照实际内容输出,不会缩略。
、特殊字符处理:
字符 替换字符
< <
> >
& &
" &quto;
' '
、标记名称约定:
[] 可以包含字母、数字、其他字符。
[]不能以数字和下划线开头。
[]不能以xml或者Xml之类的字符开头。
[]不能包含空格 二、xml声明
xml声明标准语句:<?xml version="1.0" encoding="GB2312" standalone="yes"?>
强调:
、“<?xml” 中的"<?"和"xml"中间不能有空格。
、”?>"之前可以有空格,也可以没有。
、enconding和standalone是可选属性,encoding默认值是"UTF-8",standalone默认值是"no"。
、常见的编码方式有:
简体中文:GB2312
繁体中文 :BIG5
西欧字符:UTF-,UTF-
、standalone表示文档是否附带DTD文件。 三、xml属性
因为数据既可以存储在子元素中也可以存储在属性中,那么何时用属性,何时用子元素,没有固定规则,但是建议:元数据应该以属性的方式存储,而数据本身应该以元素的形式存储。
使用属性会引发以下问题:
、属性不能包含多个值(子元素可以)。
、属性不容易扩展。
、属性不能描述结构(子元素可以)。
、属性很难通过DTD进行测试。 四、命名空间
声明命名空间俩种方式:
、默认声明,所有元素不需要指定前缀,如:
<schema xmlns="http://www.w3.org/2001/XMLschema">
<element name="diguonianzhu" type="string"/>
……
</schema>
、明确声明,xmlns关键字与一个命名空间的URI的前缀相关联,所有元素都需要指定前缀,如:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLschema">
<xsd:element name="diguonianzhu" type="string"/>
……
<xsd:/schema>
强调:用来表示命名空间的URI并不被XML解析器调用,实际上并不去访问这个URI,它只是表示一个标识名字而已。 五、XML专用标记:CDATA
CDATA的全称是Character DATA,即字符数据,它主要用来显示特殊字符,比如"<"。
CDATA的语法格式为:
<![CDATA[要显示的字符]]> 如:
<?xml version="1.0"?>
<data>
<![CDATA[
<ok alma!> by a&b!
]]>
</data>
强调:CDATA不能嵌套;要显示的字符中不能包含"]]>"。
XML 之 语法详解的更多相关文章
- XML DTD语法详解
XML DTD详解 XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...
- crossdomain.xml的配置详解
目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...
- Thymeleaf3语法详解和实战
Thymeleaf3语法详解 Thymeleaf是Spring boot推荐使用的模版引擎,除此之外常见的还有Freemarker和Jsp.Jsp应该是我们最早接触的模版引擎.而Freemarker工 ...
- Xpath语法详解
1.简介 XPath是一门在XML和HTML文档中查找信息的语言,可以用来在XML和HTML文档中对元素和属性进行遍历 XPath的安装 Chrome插件XPath Helper 点Chrome浏览器 ...
- spring AspectJ切入点语法详解 记录以便查阅
AspectJ切入点语法详解 6.5.1 Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spri ...
- spring AOP 之四:@AspectJ切入点标识符语法详解
@AspectJ相关文章 <spring AOP 之二:@AspectJ注解的3种配置> <spring AOP 之三:使用@AspectJ定义切入点> <spring ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Velocity魔法堂系列二:VTL语法详解
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
随机推荐
- python3连接mysql--增删改查
ps:MYSQLdb只适用于python2.x python3不支持MYSQLdb,取而代之的是pymysql 运行会报:ImportError:No module named 'MYSQLdb' i ...
- 伪奢侈品iPhone大降价,肉搏国产手机胜算几何?
据国外媒体报道,苹果在中国降低iPhone价格的策略已收到明显的效果,自从1月11日正式调整价格以来,iPhone在苏宁电器平台上的销量飙升83%,而天猫上的销量也增长了76%,其中最受欢迎的机型是i ...
- 浏览器之本地缓存存储 localStorage 和 sessionStorage的区别以及用法
区别: localStorage永久保存在浏览器 :sessionStorage在浏览器关闭之后存储的数据就会销毁 用法:两者用法差不多,但是取值有所不同 编辑页面逻辑代码为: 这是给 id=btn ...
- stm32CubeMx工程使用GCC编译
软件: STM32CubeMx 5.0 GCC编译器 STM32 ST Link Utility 下载器:ST Link V2 1 安装gcc编译器 能编译ARM Cortex M核的GCC编译器下 ...
- 初级入门 --- 认识 WebGL
WebGL 是什么? WebGL 是一组基于 JavaScript 语言的图形规范,浏览器厂商按照这组规范进行实现,为 Web 开发者提供一套3D图形相关的 API. 这些 API 能够让 Web 开 ...
- spring bean容器学习
bean是Spring种最核心的东西 ,如果说Spring是个水桶的话,bean就是桶里面的水,桶里面没有水也就没有意义了. public class MyTestBean { private Str ...
- P10891089 狼人杀-简单版
1089 狼人杀-简单版 (20分) 以下文字摘自<灵机一动·好玩的数学>:“狼人杀”游戏分为狼人.好人两大阵营.在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说: ...
- POJ 3349:Snowflake Snow Snowflakes 六片雪花找相同的 哈希
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 35642 Accep ...
- GoJS实例1
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果 <!DOCTYPE html> <html> <head> <meta charset=& ...
- java中数组输出的方式
方式1:遍历输出 public class Main { public static void main(String[] args) { int[] ns = { 1, 4, 9, 16, 25 } ...