xml学习

1、什么是XML

XML全称为Extensible Markup Language, 意思是可扩展的标记语言,它是 SGML(标准通用标记语言)的一个子集。

XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。

W3C19982月发布1.0版本

W3C20042月发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在20042W3C又发布了1.0版本的第三版。我们要学习的还是1.0版本!!!

2W3C组织

W3C是万维网联盟(World Wide Web Consortium)英文的缩写,它成立于199410月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),开发网络的全部潜能。万维网联盟(W3C)1994年成立以来,已发布了90多份Web技术规范,领导着Web技术向前发展。

W3C认为自身不是官方组织,因此将它正式发布的规范称为推荐(建议)标准,意思是进一步标准化的建议,但是由于组织自身的权威性往往成为事实上的标准。

3XML的作用

l 程序的配置文件(这也是最后大家使用XML最常见的目的);

l 数据交换:不同语言之间用来交换数据;

l 小型数据库:用来当数据库存储数据。

4XMLHTML比较

l HTML的元素都是固定的,而XML可以自定义元素;

l HTML用浏览器来解析执行, XML的解析器通常需要自己来写(因为元素是自定义的);

l HTML只能用来表示网页,而XML可以做的事情很多。

5XML和properties(属性文件)比较

l 属性文件只能存储平面信息,而XML可以存储结构化信息;

l 解析属性文件只需要使用Properties类就可以了,而解析XML文档是很复杂的。

XML语法概述

l 元素!!!

l 文档声明!!!

1、XML文档展示
 1 <?xml version="1.0" encoding="utf-8" standalone="no"?>
 2 <students>
 3     <student number="1001">
 4         <name>zhangSan</name>
 5         <age>23</age>
 6         <sex>male</sex>
 7     </student>
 8     <student number="1002">
 9         <name>liSi</name>
10         <age>32</age>
11         <sex>female</sex>
12     </student>
13     <student number="1003">
14         <name>wangWu</name>
15         <age>55</age>
16         <sex>male</sex>
17     </student>
18 </students>
XML文档展示
2、XML文档的组成部分

l XML文档声明;重要

l XML处理指令;看完了,就可以忘了!

l XML元素;最重要

l XML特殊字符和CDATA区;一看就会

XML注释。不看都会

XML文档声明

1、什么是xml文档声明

可以把xml文档声明看成是xml文档说明。

最简单的xml文档声明:<?xml version="1.0"?>

  注意,XML是区别大小写,这一点不同与HTML

2xml文档声明结构

l version属性:用于说明当前xml文档的版本,因为都是在用1.0,所以这个属性值大家都写1.0version属性是必须的;

l encoding属性:用于说明当前xml文档使用的字符编码集,xml解析器会使用这个编码来解析xml文档。encoding属性是可选的,默认为UTF-8。注意,如果当前xml文档使用的字符编码集是gb2312,而encoding属性的值为UTF-8,那么一定会出错的;

l standalone属性:用于说明当前xml文档是否为独立文档,如果该属性值为yes,表示当前xml文档是独立的,如果为no表示当前xml文档不是独立的,即依赖外部的文件。默认是yes

l 没有xml文档声明的xml文档,不是格式良好的xml文档;

l xml文档声明必须从xml文档的11列开始。

XML元素

1XML元素的格式1

l xml元素包含:开始标签、元素体(内容)、结束标签。例如:<hello>大家好</hello>

l 空元素:空元素只有开始标签,没有元素体和结束标签,但空元素一定要闭合。例如:<hello/>

2XML元素的格式2

l xml元素可以包含子元素或文本数据。例如:<a><b>hello</b></a>a元素的元素体内容是b元素,而b元素的元素体内容是文本数据hello

l xml元素可以嵌套,但必须是合法嵌套。例如:<a><b>hello<a></b>就是错误的嵌套。

3XML文档的根元素
 1 <?xml version = "1.0" encoding = "utf-8" standlone = "no" ?>
 2 <studets>
 3     <student number = "1001">           
 4         <name>zhangsan</name>    
 5         <age>23</age>
 6         <sex>male<sex>
 7         </student>
 8     </student>
 9     <student number = "1002">           
10         <name>zhangsan</name>    
11         <age>23</age>
12         <sex>male<sex>
13         </student>
14     </student>
15 </students>
student1.xml,格式良好的
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<student number="1001">
    <name>zhangSan</name>
    <age>23</age>
    <sex>male</sex>
</student>
<student number="1002">
    <name>liSi</name>
    <age>32</age>
    <sex>female</sex>
</student>
student2.xml,格式非良好的

xml元素的元素体包括文本数据和子元素

例如:<a><b>hello</b></a>

元素的命名规范:

  可包含字母、数字以及一些其他可见字符,但区分大小写,不能以数字或者下划线开头,

 不能以xml开头:<xml><Xml><XML>都是错误的;

 不能包含空格;

 名称中间不能包含冒号:带有冒号的元素名是有特殊含义的

 

 1 <?xml version = "1.0" encoding = "utf-8" standlone = "no" ?>
 2 <studets>
 3     <student number = "1001">           
 4         <name>zhangsan</name>    
 5         <age>23</age>
 6         <sex>male<sex>
 7         </student>
 8     </student>
 9     <student number = "1002">           
10         <name>zhangsan</name>    
11         <age>23</age>
12         <sex>male<sex>
13         </student>
14     </student>
15 </students>
原文地址:https://www.cnblogs.com/jiangjianzhu/p/5440848.html