posts - 62,  comments - 19,  trackbacks - 0
1:XML与HTML的异同:

XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。

HTML是与显示信息相关的, XML则是与描述信息相关的。

2:通过XML,你可以在HTML文件之外存储数据。

把数据转换为XML格式存储将大大减少交换数据是的复杂性,并且还可以使得这些数据能被不同的程序读取.

3:Easy Sample

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<?xml version="1.0" encoding="ISO-8859-1"?>   //  版本介绍,以及字符集使用的是ISO-8859-1 .
<note>                                                                 //根元素,一个文件只有只个根元素.     
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>      //描述性语言部分,讲述一个头为Reminder,内容为
                                                                              Don't forget me this weekend!的NOTE从LIN发送给ORDM.
</note>                                                                  //根元素的结束,这样的字符必须是结构良好的,成对出现.
                                                                                嵌套也必须遵从顺序<b><i></i></b>是错误的。

注意:XML对大小写是敏感的,note与Note与NOTE三者是完全不同的.

4:属性值必须带引号
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/99">

其中版本号,以及时间皆为属性,所以必须加引号。

注释的书写:<!-- 这是一个注释 -->  

5:父元素与子元素之间的关系
假设有这样一个表:

署名: XML 指南

第一章: XML入门简介

  • 什么是HTML
  • 什么是XML

第二章: XML语法

  • XML元素必须有结束标记
  • XML元素必须正确的嵌套

那么对应的语言描述如下:
<book>
<title>XML 指南</title>
<prod id="33-657" media="paper"></prod>
<chapter>XML入门简介
<para>什么是HTML</para>
<para>什么是XML</para>
</chapter>
<chapter>XML语法
<para>XML元素必须有结束标记</para>
<para>XML元素必须正确的嵌套</para>
</chapter>
</book>
 
在上面的代码中,book元素是XML文档的根元素,title元素和chapter元素是book元素的子元素。book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平级元素,因为他们都有同一个父元素。


6:   命名
遵从一般的命名规则,但是注意在XML元素命名中不要使用":",因为XML命名空间需要用到这个十分特殊的字符。

7: 使用子元素还是属性
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

在第一个例子中,sex是一个属性,在第二个例子中,sex则是一个子元素。这两个例子都提供了相同的信息。

什么时候用属性,什么时候用子元素没有一个现成的规则可以遵循。我的经验是属性在HTML中可能相当便利,但在XML中,你最好避免使用

推荐样式:

<note>
<date>
<day>12</day>
<month>11</month>
<year>99</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

需要注意的是:元数据(与数据有关的数据)应该以属性的方式存储,而数据本身应该以元素的形式存储。


                                        
7: 数据岛

使用非官方标准的<xml>标记可以将XML数据嵌入到HTML页面中。

XML数据可以象下面的例子那样嵌入HTML页面:

<xml id="note">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
</xml>

或者象下面这样嵌入外部单独的XML文件:

<xml id="note" src="note.xml">
</xml>

注意那个<xml>标记是一个HTML元素,而不是一个XML元素。

8: 转意字符

不合法的XML字符必须被替换为相应的实体。

如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:

<message>if salary < 1000 then</message>

为了避免出现这种情况,必须将字符"<" 转换成实体,象下面这样:

<message>if salary &lt; 1000 then</message>

下面是五个在XML文档中预定义好的实体:

&lt;<小于号
&gt;>大于号
&amp;&
&apos;'单引号
&quot;"双引号

实体必须以符号"&"开头,以符号";"结尾

9:CDATA部件

在CDATA内部的所有内容都会被解析器忽略。

如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script>

在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。

CDATA注意事项:

CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。

同样要注意在字符串"]]>"之间没有空格或者换行符。

10:


posted on 2006-12-26 10:10 乔栋 阅读(344) 评论(0)  编辑 收藏 引用 所属分类: XML

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜


My blog is worth $0.00.
How much is your blog worth?