楼主 xmyjk |
Q:什么是XML呢?它的数据结构是怎么样的呢? A:本知识点作为后面xmldom的基础介绍。 xml其实仅仅只是一段纯文本,用于传输数据,它和HTML一样,是一种标记语言。近几年的发展,xml已经逐渐成为了各种应用程序之间进行数据传输的最常用的工具,在信息存储等领域变得越来越流行。 例如:一段关于会员xmyjk的xml记录。 <member> <id>xmyjk</id> <city>XIAMEN</city> <group>KAIXINDUI</group> </member> 这一段代码,非常直观的反应了会员xmyjk的一些信息。其中尖括号<>中的,就是标签,可见xml中的标签是可以随便定义的。但是切记以下语法规则: (1)所有标签都要有起始,例如<id></id>; (2)对大小写敏感; (3)以字母或下划线为第一个字符。 上面的代码,<member>是个标签,在开始标签<member>到结束标签</member>之间,叫做一个元素,其中<id>和</id>之间的、<city>和</city>以及<group>和</group>都是member的子元素。因此,我们有可以得出一个结论:XML 文档是一个树结构,除了根元素以外,每个元素只有一个父元素,有一个或者多个子元素。标签是对元素的描述。如下图: ![]() 其中,memberlist就叫做根元素,其他元素从根元素,层层分支衍生,枝繁叶茂。 我们再来看一个复杂点的例子: <memberlist> <member> <id>xmyjk</id> <city>XIAMEN</city> <group>KAIXINDUI</group> </member> <member> <id>xyf2210</id> <city>ZHEJIANG</city> <group>KAIXINDUI</group> </member> </memberlist> 这个会员表,就是描述了两个会员的数据。xmyjk,XIAMEN和KAIXINDUI等,就是<id>,<city>和<group>元素的文本。 但是,大家肯定会抱怨,这样的数据结构,很难看,不直观。因为,<id>是<member>元素的子元素,不利于查找。 这样吧,不如,我们给不同的<member>加个属性,来区分,代码就改写为: <memberlist> <member id="xmyjk"> <city>XIAMEN</city> <group>KAIXINDUI</group> </member> <member id="xyf2210"> <city>ZHEJIANG</city> <group>KAIXINDUI</group> </member> </memberlist> 这样,id就是member的属性了。可以很明显的区分出每个member的情况。切记,属性值必须加引号。 属性就是用来提供元素的其他信息的。那怎么区分属性和元素呢,一般而言,元素用来描述数据,而属性用来提供与数据无关的信息。所以,上面这段代码,id是很重要的,不应该作为属性来储存的,建议还是以元素来储存。那怎么区分member之间呢。就例如,社区的会员还有UID,UID对于我们描述一个会员,是无关紧要的。 <memberlist> <member Uid="30639"> <id>xmyjk</id> <city>XIAMEN</city> <group>KAIXINDUI</group> </member> <member Uid="56305"> <id>xyf2210</id> <city>ZHEJIANG</city> <group>KAIXINDUI</group> </member> </memberlist> 上面这样的代码,就是比较合规的。 最后,我们仅仅只要把上面一段代码,黏贴到文本文件,即可。为了和其他文本文件区分。我们仅仅只要在代码前面加一句:<?xml version="1.0"?>,然后把txt文件另存为xml文件即可。如附件。 ![]() 操作如图: ![]() 我们就可以用IE直接查看附件xml文件,我们还可以使用如下动画,去在EXCEL里面查看它。 ![]() |
2楼 嘉昆2011 |
终于被提上议程,留爪![]() |
3楼 skyteller |
好文章,期望能写下去! |
4楼 yjzstar |
月月老师写的很详细啊! |
5楼 xyf2210 |
跟帖学习 |
6楼 魔魔 |
以后要好好的和师傅大人学习才行啊 |
7楼 花蔓 |
我努力地看懂中 話説回來 這格式我見過 每個月最讓我火大的某表 =口= |
8楼 水星钓鱼 |
好文,推荐学习 |
9楼 hylees |
很详细,分享! |
10楼 poiuyman5 |
GOOD |
11楼 rongjun |
感谢分享! |
12楼 keven |
!赞一个 |