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其中之 ...
随机推荐
- HashSet原理
- Windows 网络显示监视器软件_spacedesk
将各种设备拓展为 Windows 第二屏幕 官方网站 https://spacedesk.net/ 使用教程参阅: https://blog.csdn.net/sinat_21902709/artic ...
- Python作业篇 day02
作业 知识点回顾: 1.变量名的规范 2.简述 ascii unicode utf-8 的关系 3.简述 位与字节的关系 4.‘我是帅哥’ 在utf-8编码用几个字节 ,在gbk用几个字节 逻辑运 ...
- php+ajax实现无刷新动态加载数据技术
我们浏览有些网页的时候,当拉动浏览器的滚动条时到页底时,页面会继续自动加载更多内容供用户浏览.这种技术我暂且称它为滚屏加载技术.我们发现很多网站用到这种技术,必应图片搜索.新浪微博.QQ空间等将该技术 ...
- 使用 MYSQLBINLOG 来恢复数据
使用 MYSQLBINLOG 来恢复数据 2009-04-05 12:47:05 标签:mysql mysqlbinlog 恢复 数据库 数据 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...
- Linux 命令 - mknod
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] 设备名 设备类 ...
- 吴裕雄--天生自然JAVA数据库编程:处理大数据对象
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- Problem A: Assembly Required K路归并
Problem A: Assembly Required Princess Lucy broke her old reading lamp, and needs a new one. The cast ...
- 第二单元总结:基于synchronize锁的简单多线程设计
单元统一的多线程设计策略 类的设计 电梯 每部电梯为一个线程. 电梯从调度器接收原子指令,知晓自己的状态(内部的人/服务的人.运行方向.所在楼层) 原子指令包括且仅包括: 向上走一层 / 向下走一层 ...
- JS写一个列表跑马灯效果--基于touchslide.js
先放上效果图: 类似于这样的,在列表中循环添加背景样式的跑马灯效果. 准备引入JS插件: <script type="text/javascript" src="x ...