04_XML_02_XML语法
【XML组成】
一个XMl文件分为以下几部分组成
* 文档说明
* 元素
* 属性
* CDATA区、特殊字符
* 处理指令(processing Instruction)
【1.文档说明】
* 最简单的声明语法(必须有version属性):
<?xml version="1.0" ?>
* 用encoding属性说明文档的字符编码:
<?xml version="1.0" encoding="GB2312" ?>
* 用standalone属性说明文档是否独立:
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
【2.元素(element)】
* XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式:
1.包含标签体:
<a>www.google.com</a>
2.不含标签体:
<a></a> ------->( 简写为:<a/>)
* 一个标签中也可以嵌套若干子标签。但所有的标签必须合理地嵌套,绝对不允许交叉嵌套。
错误演示:
<a>welcome <b> www.google.com </a> </b>
* 格式良好的xml文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。
*对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。例如:下面两段内容的意义是不一样的:
第一段
<网址>www.google.com</网址>
第二段(有换行和空格,不同于第一段)
<网址>
www.google.com
</网址>
* 由于在XML中,空格和换行都会被作为原始内容被处理,所以,在编写XML文件时,虽然使用换行和缩进等方式使原文件可读性良好,但空格和缩进会被处理,影响解析,所以优先选择第一段的方式。
*命名规范:
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵循下面的一些规范:
1.区分大小写,例如<P>和<p>是两个不同的标记
2.不能以数字或"_"(下划线)开头
3.不能包含空格
4.名称中不能包含冒号(:)
【3.属性】
* 一个标签可以有多个属性,每个属性都有自己的名称和取值,例如
<input name="text">
* 属性值一定要使用双引号( " )或单引号( ' )引起来。
* 定义属性必须遵循与标签相同的命名规范。
* 在XML技术中,标签属性所代表的信息,也可以被改成子元素的形式来描述:
<input>
<name>text</name>
</input>
【4.注释】
注释的格式
<!-- 我是注释!!!啦啦啦! -->
注意点:
1.XML声明之前不能有注释
2.注释不能嵌套,例如(下面错误!)
<!--
一大段注释........
<!-- 局部注释... -->
-->
【5.CDATA区】
* 在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
* 遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动地输出。
* 语法:<![ CDATA[ 内容 ]]>
<![CDATA[
<aaa>
<br/>
</aaa>
]]>
04_XML_02_XML语法的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
随机推荐
- POJ3349: Snowflake Snow Snowflakes(hash 表)
考察hash表: 每一个雪花都有各自的6个arm值,如果两个雪花从相同或者不同位置开始顺时针数或者逆时针数可以匹配上,那么这两个雪花就是相等的. 我们采用hash的方法,这样每次查询用时为O(1),总 ...
- POJ2407–Relatives(欧拉函数)
题目大意 给定一个正整数n,要求你求出所有小于n的正整数当中与n互质的数的个数 题解 欧拉函数模板题~~~因为n过大~~~所以直接用公式求 代码: #include<iostream> # ...
- cygwin设置中文
cygwin\home\username\.bashrc # 让ls和dir命令显示中文和颜色 alias ls='ls --show-control-chars --color' alias dir ...
- iOS开发:创建真机调试证书
关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架发布问题.今天就着重说一下关于针对于苹果 ...
- Android开发中如何强制横屏和强制竖屏设置
Android开发中如何强制横屏和强制竖屏设置 强制横屏设置: 按照下面代码示例修改Activity的onResume方法 @Override protected void onResume() { ...
- Script Form
Script Form 是SAP所提供的一款强大的报表设设计工具. 一.Script Form主要工具包括如下: 1)Form Painter:格式绘制器,用于格式的设定.TCoce:SE71. 2) ...
- 【转】Spring websocket 使用
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html https://spr ...
- Java - 错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1"
错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1" 本文地址: http://blog.csdn.n ...
- Thinkpad SL400安装黑苹果10.8.4全纪录
提要 还在为学习苹果开发的装备发愁么 ,也许这篇文章会给你带来一些启发. 关于黑苹果:从苹果采用intel的处理器之后,mac os被黑客破解之后可以安装在PC上,从而出现了一大批未购买苹果机而使用苹 ...
- count(1) count(*)
mysql from t; +---+ | +---+ | | | | +---+ rows in set (0.00 sec) mysql) from t; +----------+ ) | +-- ...