一、xml简介

1.xml(可扩展标记语言),是一种标记语言,类似于html,其作用主要是传输数据,并非显示数据

2.xml标签没有被预定义需要用户自行定义。

3.xml由w3c组织发布,遵循2000年发布的1.0规范。

4.其特点是一种结构化文档,容易被解析。

二、用途

1、应用程序配置文件

2、应用程序之间传递数据等。

三、xml语法规则

1、一个xml文件一般由以下几部分组成。

文档声明
  元素
  元素的属性
  注释
  CDATA区
  特殊字符
  处理指令

文档声明:

在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。
 最简单的语法:<?xml version=“1.0”?>
 用encoding属性说明文档所使用的字符编码,默认为UTF-8。保存在磁盘上的文件编码要与声明的编码一致。
 如:<?xml version=“1.0” encoding=“GB2312”?>
 用standalone属性说明文档是否独立,即是否依赖其他文档。
 如:<?xml version=“1.0” standalone=“yes”?>

元素:

XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:
包含标签主体:<student>some student</student>
不含标签主体:<student name=”” age=””/>
一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。
<stu1><stu2></stu2></stu1>  
一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。
XML中不会忽略主体内容中出现的空格和换行。
  第一段:
  <网址>www.baidu.com</网址>
此处有换行字符/r/n
  第二段
  <网址>
   www.baidu.com
  <网址>
 注:由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML    文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”   书写习惯可能要被迫改变。
元素(标签)的名称可以包含字母、数字、减号、下划线和英文句点,但必须遵守下面的一些规范:
严格区分大小写;<P> <p>  <a-b>
只能以字母或下划线开头;abc _abc <1abc>
不能以xml(或XML、Xml等)开头----W3C保留日后使用; <xml>
名称字符之间不能有空格或制表符;<ab>
名称字符之间不能使用冒号; (有特殊用途)

元素的属性:

一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<student name=“value” …/>
属性值一定要用引号(单引号或双引号)引起来。
属性名称的命名规范与元素的命名规范相同
元素中的属性是不允许重复的
在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述

注释:

<!--  -->
<?xml version="1.0" encoding="utf-8" ?> 此句必须是xml文档的第一句;即便是注释也不能出现在它的上面;
注释不能嵌套

CDATA区:

CDATA是Character Data的缩写
作用:把标签当做普通文本内容;
语法:<![CDATA[内容]]> character data
<![CDATA[
 <itcast>www.inspur.cn</itcast>
]]>

以上红色区域即被认为内容

特殊字符:

特殊字符 替代字符
& &amp
< &lt
>  &gt
" &quot
' &qpos

处理指令:

处理指令,简称PI(Processing Instruction)。
作用:用来指挥软件如何解析XML文档。
语法:必须以“<?”作为开头,以“?>”作为结尾。 Html css
常用指令 xml-stylesheet   
<?xml-stylesheet type="text/css" href="css/a.css" ?>

最新文章

  1. maven编译报错 -source 1.5 中不支持 lambda 表达式
  2. 火狐浏览器+Firebug+FirePath测试Xpath
  3. Week1项目报告
  4. Contest20140710 loop bellman-ford求负环&amp;&amp;0/1分数规划
  5. 【夯实基础】javakeywordsynchronized 详细说明
  6. django下进行项目的部署
  7. mysql用户管理与备份
  8. 使用newtonjson解决Json日期格式问题
  9. Convert the AScii to SAC file
  10. excel2007vba绘图1
  11. Linux防火墙配置与管理(16)
  12. 敏捷团队的组织与管理--- MPD软件工作坊培训感想(下)
  13. 2017-2018-2 20155315《网络对抗技术》Exp7 :网络欺诈防范
  14. plsql的sql窗口中文模糊查询没有作用
  15. Java中创建只读容器,同步容器
  16. IntelliJ IDEA 2017.01配置jdk和tomcat
  17. cocos2dx 3.x fullPathForFilename及isFileExist在ios/mac下与win32下行为不同
  18. 07、在 Windows10 上获得屏幕分辨率
  19. R 语言贷款月供数据分析
  20. JACOB的语法

热门文章

  1. Drawable与Bitmap 自定义
  2. Jquery手机发送短信之后,进入倒计时状态
  3. Win7下VS2010使用STLPort 和boost1.56.
  4. 解决SurfaceView设置透明造成覆盖其他组件的替代方案
  5. JS将毫秒转换成时间格式
  6. PHP 中的注释
  7. Python中urlopen()介绍
  8. setf
  9. 关于nginx架构探究(1)
  10. scala 入门(2)--数组相关操作