XML学习交流(2) 快速入门之三

开发
在XML学习交流系列文章中,笔者以XML新手为写作对象,结合个人经验,详细介绍XML知识体系,为读者学习XML,提供些许参考,希望大家有所借鉴。本篇文章是快速入门部分的第三篇文章,笔者将为大家介绍XML和HTML的区别、XML的严格格式以及关于XML的更多方面的知识。

  五.XML和HTML的区别

  XML和HTML都来自于SGML,它们都含有标记,有着相似的语法,HTML和XML的***区别在于:HTML是一个定型的标记语言,它用固有的标记来描述,显示网页内容。比如<H1>表示首行标题,有固定的尺寸。相对的,XML则没有固定的标记,XML不能描述网页具体的外观,内容,它只是描述内容的数据形式和结构。

  这是一个质的区别:网页将数据和显示混在一起,而XML则将数据和显示分开来。

  我们看上面的例子,在myfile.htm中,我们只关心页面的显示方式,我们可以设计不同的界面,用不同的方式来排版页面,但数据是储存在myfile.xml中,不需要任何改变。

  (如果你是程序员,你会惊讶的发现,这与模块化面向对象编程的思想极其相似!其实网页何尝不是一种程序呢?)

  正是这种区别使得XML在网络应用和信息共享上方便,高效,可扩展。所以我们相信,XM做为一种先进的数据处理方法,将使网络跨越到一个新的境界。

  六.XML的严格格式

  吸取HTML松散格式带来的经验教训,XML一开始就坚持实行"良好的格式"。

  我们先看HTML的一些语句,这些语句在HTML中随处可见:

  1.sample

  2.<b><i>sample</b></i>

  3.<td>sample</TD>

  4.<fontcolor=red>samplar</font>

  在XML文档中,上述几种语句的语法都是错误的。因为:

  1.所有的标记都必须要有一个相应的结束标记;

  2.所有的XML标记都必须合理嵌套;

  3.所有XML标记都区分大小写;

  4.所有标记的属性必须用""括起来;

  所以上列语句在XML中正确的写法是

  1.sample

  2.<b><i>sample</i></b>

  3.<td>sample</td>

  4.<fontcolor="red">samplar</font>

  另外,XML标记必须遵循下面的命名规则:

  1.名字中可以包含字母、数字以及其它字母;

  2.名字不能以数字或"_"(下划线)开头;

  3.名字不能以字母xml(或XML或Xml..)开头;

  4.名字中不能包含空格。

  在XML文档中任何的差错,都会得到同一个结果:网页不能被显示。各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将<email>改为<Email>,然后用IE5直接打开myfile.xml,会得到一个出错信息页面:

  1. <?xmlversionxmlversion="1.0"encoding="GB2312"?> 
  2. <myfile> 
  3. <title>XML轻松学习手册</title> 
  4. <author>ajie</author> 
  5. <Email>ajie@aolhoo.com</email> 
  6. <date>20010115</date> 
  7. </myfile> 

  七.关于XML的更多

  好了,到现在你已经知道:

  1.什么是XML;

  2.XML,HTML,SGML之间的关系和区别;

  3.XML的简单应用。

  恭喜你!你已经不再对XML一无所知,并且已经走在了网络技术的前沿。整个学习过程好象并不很难哦:)

  如果你对XML有更多的兴趣,希望进一步了解XML的详细资料和其它的实际运用技术,欢迎继续浏览我们的下一章:XML的概念。

【编辑推荐】

  1. XML编程与应用教程
  2. XML入门之十一问答
  3. XML的四个神话:XML属于世界
  4. 给XML初学者
  5. XML结构与语法入门详解
责任编辑:韩亚珊 来源: 软件开发网
相关推荐

2011-04-12 14:09:55

XML

2011-04-12 14:28:52

XML

2011-04-12 12:44:09

XML

2011-04-18 10:21:37

XML

2011-04-18 10:47:06

XML

2021-02-22 14:04:47

Vue框架项目

2016-12-27 14:06:36

Python代码基础

2011-09-14 11:10:09

Android 2.2

2011-05-16 14:52:19

DB2 9 Viper

2022-03-14 15:36:34

Row容器组件Column容器组件鸿蒙

2013-02-18 08:36:51

powershell

2011-07-26 13:58:17

LINQ

2015-10-30 15:30:54

LevelDBSSTableSybase

2010-08-18 13:29:11

DB2存储过程

2009-09-16 15:33:22

LINQ to XML

2009-10-21 13:04:58

Linux压缩打包方法

2010-09-16 11:27:19

2019-10-10 14:48:19

深度学习人工智能

2022-02-17 09:24:11

TypeScript编程语言javaScrip

2015-10-29 15:36:19

Redis入门
点赞
收藏

51CTO技术栈公众号