第二讲 第二章节 --XML属性值
---摘自《ChinaAsp》 (文/jspery)
前面的讲座中曾经出现过元素的属性值.
e.g: "<我的故事 价值="无价之宝">
.........
</我的故事>"
其中 价值="无价之宝" 这段代码就是根元素"我的故事"的属性值
那么,属性值可以做什么呢?xml中的属性值可以被用来为元素添加额外的说明信息.其实我们很早以前就已经接触过属性值,而且频率非常的高,那就是出现在html中的属性值.
e.g: <font size="7" color="red">属性值在html中的运用</font>
~~~~~~~~ ~~~~~~~~~~~
<a href="http://go.go.go">到处都是属性值的运用</a>
在xml中,我们也可以应用属性值到元素,但不要太频繁,毕竟XML是用来储存
和发送数据信息的,因此它的可扩展性就显得非常重要,我们可能随时需要向xml文件中添加数据,虽然使用属性值可以方便的为元素添加额外信息说明,但是这样做非常不利于日后的维护和更新...更何况,这些事情使用元素来做才是正确真正的选择(因此,本人不推荐频繁使用属性值).
e.g: 属性值运用 <?xml version="1.0" encoding="GB2312"?>
<我的介绍 姓名="jsper" 性别="unknow" 职业="无"
联系方式="jsper@371.net">
</我的介绍>
不使用属性值 <?xml version="1.0" encoding="GB2312"?>
<我的介绍>
<姓名>jsper</姓名>
<性别>unknow</性别>
<职业>无</职业>
<联系方式>jsper@371.net</联系方式>
</我的介绍>
显而易见,频繁的使用属性值很难与维护和更新,而且,使用属性值还有一系列的弱点---1,属性值不可以包含多重数值(元素可以);2,属性值难于扩展(考虑到长远打算);3,属性值不能够用于描述结构内容(子元素则可以);4,属性值很难通过DTD来进行一个测试(关于DTD的介绍,请期待后续教程)
也许你们的语法老师都告诉过你们这样一句话"是规则就有例外",在这里也同样应验...毕竟属性值也不是一无是处^_^.我们可以用数值来表示同一元素的不同内容.如下
e.g: <?xml version="1.0" encoding="GB2312"?>
<通讯薄>
<我的网友 编号="008">
<姓名>飞鸟</姓名>
<性别>未知</性别>
<联系方式>不详</联系方式>
</我的网友>
<我的网友 编号="009">
<姓名>飞鱼</姓名>
<性别>中性</性别>
<联系方式>未知</联系方式>
</我的网友>
</通讯薄>
在这里,我们用的是数字来区分元素"我的网友",当然你也可以用其他的
方式来区分.例如"编号="一号"" (第二章节完)