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其中之 ...
随机推荐
- ssh_crm项目
1.代码 https://pan.baidu.com/s/1hudAhA8 密码:c7xu 2.总结 https://pan.baidu.com/s/1o9ArFf0 密码:hteu 3.资料 ht ...
- linux编译C
1. 编译单个源文件 为了进行测试,你可以创建"Hello World"程序: #include #include int main(int argc, char **argv) ...
- unity优化-CPU(网上整理)
CPU方面性能考虑:引擎和代码渲染模块.动画模块.物理模块.ui模块.粒子模块.加载模块.GC模块最重要的是渲染模块.UI模块和加载模块1.渲染模块主要是:场景.物体和特效的渲染a.降低Draw ca ...
- 十三、$.ajax、模态/非模态框、window.open()、href属性、submit()等提交请求优劣及问题解决方法
1. $.ajax提交请求进行数据更新,并通过回调进行有效提示 function updateAudit(dispacher, control) { var currentpage = documen ...
- js保留两位小数的数字格式化方法
// 格式化数字(保留两位小数) numberFormat (num) { let percent = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/ ...
- Python django 安装 mysqlclient 失败
使用命令安装失败: C:\Program Files (x86)\Python\Python37-\Scripts>pip3..exe install mysqlclient Collectin ...
- spring事务代码实践
事务一般是指数据库事务,是指作为一个程序执行单元执行的一系列操作,要么完全执行,要么完全不执行.事务就是判断以结果为导向的标准. 一.spring的特性(ACID) (1).原子性(atomicity ...
- leetcode844 Backspace String Compare
""" Given two strings S and T, return if they are equal when both are typed into empt ...
- Eclipse启动选择启动空间
window -->preferences-->General-->Startup and Shutdown -->Workspaces-->勾选Prompt for w ...
- Job 失败了怎么办?【转】
上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢? 修改 myjob.yml,故意引入一个错误: 先删除之前的 Job: 如果将 restartPolicy 设置为 OnFailure 会怎 ...