苦尽甘来 一个月学通JavaWeb(一 XML)

夜光序言:

 

生命里总有那么个人,惊艳了时光,让你念念不忘;哭红了眼眶,却还笑着原谅~~

 

正文:我们在java基础编程就知道XML很重要滴~~~洒脱一笑

 

、XML语法

XML概述

 

1 什么是XML

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

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

W3C在1998年2月发布1.0版本

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

 

2 W3C组织

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

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

 

3 XML的作用

  1. 程序的配置文件(这也是最后大家使用XML最常见的目的);
  2. 数据交换:不同语言之间用来交换数据;
  3. 小型数据库:用来当数据库存储数据。

有点意思的~~

 

4 XML与HTML比较

  1. HTML的元素都是固定的,而XML可以自定义元素;
  2. HTML用浏览器来解析执行, XML的解析器通常需要自己来写(因为元素是自定义的);
  3. HTML只能用来表示网页,而XML可以做的事情很多。

 

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

  1. 属性文件只能存储平面信息,而XML可以存储结构化信息;
  2. 解析属性文件只需要使用Properties类就可以了,而解析XML文档是很复杂的。

XML语法概述

  1. 元素~~~
  2. 文档声明~~~

 

1 XML文档展示

 

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<students>

<student number="1001">

<name>A</name>

<age>1111</age>

<sex>male</sex>

</student>

<student number="1002">

<name>B</name>

<age>1111</age>

<sex>female</sex>

</student>

<student number="1003">

<name>C</name>

<age>1111</age>

<sex>male</sex>

</student>

</students>

 

2 XML文档的组成部分

  1. XML文档声明;重要
  2. XML处理指令;看完了,就可以忘了~~
  3. XML元素;最重要
  4. XML特殊字符和CDATA区;一看就会
  5. XML注释。不看都会

 

XML文档声明

 

1 什么是xml文档声明

夜光:

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

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

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

 

2 xml文档声明结构

  1. version属性:用于说明当前xml文档的版本,因为都是在用1.0,所以这个属性值大家都写1.0,version属性是必须的;
  2. encoding属性:用于说明当前xml文档使用的字符编码集,xml解析器会使用这个编码来解析xml文档。encoding属性是可选的,默认为UTF-8。注意,如果当前xml文档使用的字符编码集是gb2312,而encoding属性的值为UTF-8,那么一定会出错的;
  3. standalone属性:用于说明当前xml文档是否为独立文档,如果该属性值为yes,表示当前xml文档是独立的,如果为no表示当前xml文档不是独立的,即依赖外部的文件。默认是yes
  4. 没有xml文档声明的xml文档,不是格式良好的xml文档;
  5. xml文档声明必须从xml文档的1行1列开始。

 

XML元素

 

1 XML元素的格式1

  1. xml元素包含:开始标签、元素体(内容)、结束标签。例如:<hello>夜光:滴水之恩当涌泉相报</hello>
  2. 空元素:空元素只有开始标签,没有元素体和结束标签,但空元素一定要闭合。例如:<hello/>

 

2 XML元素的格式2

  1. xml元素可以包含子元素或文本数据。例如:<a><b>hello</b></a>,a元素的元素体内容是b元素,而b元素的元素体内容是文本数据hello。
  2. xml元素可以嵌套,但必须是合法嵌套。例如:<a><b>hello<a></b>就是错误的嵌套。

 

3 XML文档的根元素

格式良好的xml文档必须且仅有一个根元素!

嘿哈~~写的还是有点东西的~~

 

student1.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<students>

<student number="1001">

<name>A</name>

<age>23</age>

<sex>male</sex>

</student>

<student number="1002">

<name>B</name>

<age>32</age>

<sex>female</sex>

</student>

</students>

 

student2.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<student number="1001">

<name>A</name>

<age>23</age>

<sex>male</sex>

</student>

<student number="1002">

<name>B</name>

<age>32</age>

<sex>female</sex>

</student>

 

student1.xml是格式良好的xml文档,只有一个根元素,即students元素。

student2.xml不是格式良好的xml文档,有两个根元素,即两个student根元素。

4 元素中的空白

xml元素的元素体可以包含文本数据和子元素。

a.xml

<a><b>hello</b></a>

 

b.xml

<a>

  <b>

hello

  </b>

</a>

 

a.xml中,<a>元素只有一个子元素,即<b>元素。<b>元素只有一个文本数据,即hello。

b.xml中,<a>元素中第一部分为换行缩进,第二部分为<b>元素,第三部分为换行。b元素的文本数据为换行、缩进、hello、换行、缩进。

Genius:其中换行和缩进都是空白,这些空白是为了增强xml文档的可读性。但xml解析器可能会因为空白出现错误的解读,这说明在将来编写解析xml程序时,一定要小心空白。

 

5 元素命名规范

xml元素名可以包含字母、数字以及一些其它可见字符,但必须遵循下面的一些规范:

  1. 区分大小写:<a>和<A>是两个元素;
  2. 不能以数字或下划线开头:<1a>、<_a>都是错误的;
  3. 不能以xml开头:<xml>、<Xml>、<XML>都是错误的;
  4. 不能包含空格;
  5. 名称中间不能包含冒号:带有冒号的元素名是有特殊含义的

 

元素属性

 

  1. 属性由属性名与属性值构成,中间用等号连接;
  2. 属性值必须使用引号括起来,单引或双引;
  3. 定义属性必须遵循与标签名相同的命名规范;
  4. 属性必须定义在元素的开始标签中;
  5. 一个元素中不能包含相同的属性名;
  6. 有时属性和子元素可以互换,例如:<a><b>hello</b></a>可以改为<a b=”hello”></a>

 

注释

  1. 注释以<!--开头,以-->结束;
  2. 注释中不能包含-->;
  3. 注释不能以--->结束。

 

转义字符和CDATA区

因为在xml文档中有些字符是特殊的,不能使用它们作为文本数据。例如:不能使用“<”或“>”等字符作为文本数据,所以需要使用转义字符来表示。

例如<a><a></a>,你可能会说,其中第二个<a>是a元素的文本内容,而不是一个元素的开始标签,但xml解析器是不会明白你的意思的。

把<a><a></a>修饰为<a><a></a>,这就OK了。

 转义字符都是以“&”开头,以“;”结束。这与后面我们学习的实体是相同的。

 

CDATA区(CDATA段)

当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低。这时如果使用CDATA段就会好一些。

在CDATA段中出现的“<”、“>”、“””、“’”、“&”,都无需使用转义字符。这可以提高xml文档的可读性。

<a><![CDATA[<a>]]></a>

 

  在CDATA段中不能包含“]]>”,即CDATA段的结束定界符。

 

处理指令

 

处理指令,简称PI(Processing instruction)。处理指令用来指挥解析器如何解析XML文档内容。

例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析器,应用css文件显示xml文档内容。

<?xml-stylesheet type="text/css" href="a.css"?>

处理指令以“<?”开头,以“?>”结束,这一点与xml文档声明相同。

gj1 {font-size: 200px; color: red;}

gj2 {font-size: 100px; color: green;}

gj3 {font-size: 10px;}

gj4 {font-size: 50px; color: blue;}

<?xml version="1.0" encoding="gbk"?>

<?xml-stylesheet type="text/css" href="a.css" ?>

<gjm>

  <gj1>中国</gj1>

  <gj2>美国</gj2>

  <gj3>日本</gj3>

  <gj4>英国</gj4>

</gjm>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值