zz北邮人论坛
发信人: wks (cloverprince), 信区: WWWTechnology
标 题: 你怎么跟你奶奶说明什么是XML?发信站: 北邮人论坛 (Thu Aug 25 13:57:06 2011), 站内
我觉得XML真的不难啊。不就这么一点点东西嘛,但是真难跟没接触过的人说明白。
方案1:
XML节点是如下定义的:
1. 字符串是XML节点。
2. 元素是XML节点。一个元素包含一个由字符组成的名称,若干个属性,和若干个子节点。每个属性是一对字符串,每个子节点都是XML节点。
由以上两种XML节点有限组合起来,就得到了一篇XML文档。
奶奶似乎想再听一遍。但是我说了好几遍,她也没有全部记住,而且总是混淆几个概念。
方案2:
看:
<?xml version="1.0" ?>
<person>
<name>wks</name>
<nick>cloverprince</nick>
<sex>m</sex>
<phone primary="true">13555555555</phone>
<phone>15888888888</phone>
<phone>010-88118811<phone>
</person>
这就是个XML。它里面有很多像<name>xxx</name>一样的标签。
奶奶问:
all <your> base <are> belong </to> </us>是XML吗?
我说元素要匹配,她似乎需要花一些时间来理解匹配的意义。
方案3:
我想写个电话本。我这样写:
“wks是男人,它的电话号码是13555555555”,可是计算机不好处理自然语言的句子。于是我改成比较规范的格式
“wks 男 13555555555”
可是,万一这个人有很多电话号码呢?
“wks 男 13555555555 13666666666 137777 13888888”
如果里面还有地址呢?
“wks 男 北京邮电大学 1333333 1444444 155555 166666”
可是万一外国人名字有空格呢?
“John Smith 男 Stanford University 1-23-4567 8-90-1234”
可是哪些是名字哪些是性别哪些是地址哪些是电话呢?万一地址不是必须的呢?
所以有人发明了一种规范的格式
<person>
<name>John Smith</name>
<sex>M</sex>
<address>Stanford University</address>
<phone>1-23-4567</phone>
<phone>8-90-1234</phone>
</person>
奶奶问,可是……可是……为什么要设计成这种奇怪的格式呢?
我回答,如果您当初参与设计XML,您应该可以把它设计成方括号。不过,什么括号都一样,不是吗。
方案4:
一般的数据很不规范,刚才您也看到了。所以,用规范的格式,便于程序解析。也就是说,您不用自己写解析器了。别人早就帮您写好了。
奶奶问,什么东西现在在使用XML呢?
我回答,任何东西都可以啊……我是说……我是说,真的任何东西都可以,比如网页,你可以用XHTML,比如RSS,您也看到过订阅新闻吧,再比如,请您打开eclipse看看……我是说,不是运行eclipse,是打开eclipse所在的目录。嗯,好的。现在,双击那个artifacts.xml。里面存的都是eclipse的元数据呀。那个……我是说,元数据不一定要用XML的,肯能是eclipse当初开发的时候开发人员碰巧知道XML而已。如果是我我就用YAML了。
奶奶似乎手脚不是很灵活,我还要继续耐心地等一等。
方案5:
我想说说现在Web技术的发展,但是奶奶似乎有点累了……
如果是你,你怎么向一个没有基础的人说明什么是XML呢?