Chinaunix首页 | 论坛 | 博客
  • 博客访问: 179620
  • 博文数量: 44
  • 博客积分: 832
  • 博客等级: 准尉
  • 技术积分: 368
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 16:28
文章分类

全部博文(44)

文章存档

2013年(17)

2012年(27)

我的朋友

分类: JavaScript

2013-02-05 10:58:13

http://www.cnblogs.com/Jimmy009/archive/2012/06/18/2553722.html

开篇:
经过了几天自学,终于把XML学完了。这里把学习的成果总结一下。如果有什么不对请留言指出,因为我们都在错误中长大。

 

适合人群:
我写的这篇博客适合那些不是很懂或者是完全没有接触过xml的博友们。

 

环境:
我学习的环境要交代一下的:
操作系统:win7旗舰版 64位
服务器IIS 7.5
浏览器:IE9
开发工具:Notepad++

 

XML简介:
好了可以开始正式的学习了,在以前看一本计算机书籍,一般第一章都是这个语言的简介,觉得那些都是废话。后来才发现,在学习任 何一门语言之前,还是有必要简单的介绍一下这门语言的,因为他告诉了我们为什么会有这门语言,并且这门语言存在的意思。如果没有任何意思的语言我想没有任 何人会去学习他。

XML中文名称:可扩展标记语言;英文名称:extensible markup language;用于标记电子文件使其具有结构性的标记语言。XML可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。(来自百度百科)

 

XML与数据库、html区别

XML与,等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是存储数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

XML与HTML的设计区别是:XML是用来存储数据的,其焦点是数据的内容。而HTML 被设计用来显示数据,其焦点是数据的外观。

XML和HTML语法区别:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则相反。(来自百度百科)


XML正式学习

上面都是比较抽象的概念,但是也是最权威的解释了。但是这里我想用我自己的话讲XML就是一种可以扩看的标记性语言,他和HTML不同的是HTML 当中对关键字如html table都已经定死了,我们无法改变其意思,而xml那些关键字都是我们人为的定义在使用。xml其实说白了就是用来保存数据的,比如说你的配置文件数 据,还有一写数据非常的少,要是放在数据库觉得浪费,但是又不得不考虑的那些数据放在xml文件中是最好的了。xml语法和html语言很接近,如果我们 有一个头,就必须也要有一个界面,如:

。其次我们的跟元素就只有一个,例如html语言中,我们只有一个 跟的根元素。下面我们用代码说明我们的一切吧。

View Code

写好了代码我们用浏览器查看一下吧,右击你的xml文件打开方式选择IE浏览器。看看效果图吧:

其中最第一行为定义xml的版本及浏览器显示的语言格式。

 

这是一个对的语言,如果我们把去掉其中的一个界面标志,那就会报错(这里去掉第三个标志),


这里好像ie9 测试不出来,用的是遨游测试的。如果我们不成对的标志写,那就会报错。

学到这里你已经把xml基本的语法学习好了。你已经是初学者了。下面的提上篇。

 

提升篇

其实xml也可以嵌入css文件的,接下在我将陷入一个css文件,让你的对xml文件有另一番领悟。

代码:

View Code
复制代码
 1 "1.0" encoding="utf-8"?>  2  3   4 "text/css" href="css.css"?>  5 <class>  6   7 Jimmy  8 man  9 19 10  11 12  13 Tommy 14 women 15 20 16  17 18  19 Ketty 20 women 21 21 22  23 class>
复制代码

显示效果为:



接着我们在来讲一下dtd的文件。

不知道你们发现没有,网页的前面几行都有这么一行

其实这个就是对dtd文件,那dtd文件有什么用处呢?
dtd定义:文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

说白了dtd就是定义你的xml文件中可以有哪些元素,不可以有哪些元素,这些元素可以的值是什么类型的。但是我们直接查看xml文件他并不会报错,需要禁用js创建一个ActiveXObject对象,才可以对其进行校验。

好了我们来开始dtd文档的总结吧。
从代码开始Checkdtd.htm文件(检测xml是否规范)代码:

View Code
复制代码
<html> <head> <title>测试dtd文档title> <meta http-equiv="content-type" content="text/html;charset=gb2312" /> <script type="text/javascript">  script> head> <body> body> html>
复制代码

需要检测的xml文件(myblog.xml)

View Code
复制代码
 1 xml version="1.0" encoding="utf-8"?>  2  3   4 DOCTYPE class SYSTEM "mydtd.dtd">  5 <class>  6 <stu>  7 <name>Jimmyname>  8 <sex>mansex>  9 <age>19age> 10 stu> 11 12 <stu> 13 <name>Tommyname> 14 <sex>womensex> 15 <age>20age> 16 stu> 17 18 <stu> 19 <name>Kettyname> 20 <sex>womensex> 21 <age>21 22 stu> 23 class>
复制代码

定义规范的dtd文件(mydtd.dtd)

View Code
1 ELEMENT class (stu+)> 2 ELEMENT stu (name,sex,age)> 3 ELEMENT name (#PCDATA)> 4 ELEMENT sex (#PCDATA)> 5 ELEMENT age (#PCDATA)>

我们从htm代码开始讲吧,学过c++、java、.net的人知道New一个类是在创建一个对象,这里第一句话的意思就是创建一个检测xml文件 的对象,并命名为xmldoc变量,然后我们开启了检验的功能,在然后我们确定需要校验的xml文件,如果不在同一个目录下可以用相对路径或者绝对路径的 方法找到xml文件。如果有错误那我们则把错误找出并现在在页面上。

接着我们看看xml文件吧
别的地方就不讲了,其中有句话是加载dtd的文件:
其中定义的格式规范为


因为我们这里的跟元素是class 且mydtd.dtd和myblog是同一个目录所以最后为

最后我们来分析一下mydtd.dtd文件

元素的定义格式为:

如果是空元素则可以这样定义:

这里我们看到在根元素下面有很多的stu元素,所以

其中+的意思stu这个元素的个数为1到n
如果是*则stu的元素的个数为0到n

其他具体的修饰符这里就不列举了,感兴趣的话去官网查一下。

接着我们看到stu元素下面有name、sex、age 3个元素所以我们定义

如果你去掉其中一个stu下面的一个age则用Checkdtd.htm会提示错误。这里就不测试了。

最后一句的意思是定义name这个元素的的数据类型可以为字符串。

 

学习总结,这些是本人对xml的学习的总结,希望对你又帮助 ,如果有什么不对的地方 请指出!

阅读(887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~