【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语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

随机推荐

  1. 运算符优先级 (Transact-SQL)

    当一个复杂的表达式有多个运算符时,运算符优先级决定执行运算的先后次序. 执行的顺序可能严重地影响所得到的值. 运算符的优先级别如下表中所示. 在较低级别的运算符之前先对较高级别的运算符进行求值.

  2. GiftWrapping算法解决二维凸包问题

    一.问题描述 凸集(Convex Set): 任意两点的连线都在这个集合内的集合就是一个凸集.             ⒈对于一个集合D,D中任意有限个点的线性组合的全体称为D的凸包.         ...

  3. spring注入Properties

    最近项目中向将某个Properties注入到Bean中,经百度知以下代码. <bean id="settings" class="org.springframewo ...

  4. strust1.x中formbean的原理及作用

    from:     http://blog.csdn.net/tuiroger/article/details/3947896 今天张老师讲了一些比较重要的strust标签,<html:link ...

  5. openssl pem转cer

    openssl x509 -in cert/2120.pem -outform der -out cert/ios20170109.cer

  6. jQuery事件绑定的最佳实践

    如果你经常使用jQuery,那么你也许很熟悉事件绑定.这是很基本的东西,但是深入一点,你就能够找到机会让你事件驱动的代码变得不太零碎,并且更容易管理. 更好的选择器策略 让我们从基础的例子开始.下面的 ...

  7. css3划过图片闪光

    css代码 01 .img { display:block; position: relative; width:800px; height:450px; margin:0 auto;} 02 .im ...

  8. IOS获取物理尺寸中7Plus中获取的是7的物理尺寸

    IOS获取物理尺寸中7Plus中获取的是7的物理尺寸: 在开发调试过程中我的7Plus手机获取[uiscreen mainscreen].bounds为750  .1334. 解决方案:在手机中的显示 ...

  9. struts2的json-default和struts-default的区别

    http://www.cnblogs.com/lbangel/archive/2013/05/24/3096986.html struts2的json plugin可以实现struts2和json的完 ...

  10. Geogebra里给带有曲线和直线混合边界的封闭区域填充颜色

    目的 用Geogebra绘制如图所看到的曲线,并填充如图边界的区域为实心: 用代码实现当然是能够的,可是,图形过于简单的时候用代码就不经济了.由于每个细小变动都还要调整改动代码并预览,非所见即所得.往 ...