XML文件的组织

  前断时间,写了个按键映射的小工具。用XML文件保存配置文件。XML文件主要的内容就是保存键位映射的关系,比如:把H键映射到Left。

  最开始的写法是这样的:

<Map from=”H” to=”VK_LEFT” />

  这样子解析起来也不麻烦,但感觉写XML文件的时候太啰嗦,就寻思着改成下面的写法:

<Map>H=VK_LEFT</Map>

  这样,配合一些智能点的编辑器,最起码能自动闭合标签的,写起来方便了许多。

  但是这样,解析起来就有点麻烦了。这个节点,我读出的字符串是"H=VK_LEFT",所以我还要写代码对其进行解析。如果再考虑各种空格的影响,那就有点繁琐了。

 

  其实,比起解决问题的能力,更重要的是消灭问题的能力。之所以我需要写些代码来解析这段字符串,无非就是我贪图XML文件的简洁。但是,XML很大的作用就是用来组织数据的。想到这,我便尝试把这个配置改成:

<Map>

    <from>H</from>

    <to>VK_LEFT</to>

</Map>

  嗯,这下子够规范了。但是,这样的Map一多,写起来便是非常啰嗦,很难一眼看出我做了哪些映射。而且,这样解析起来,不但没有带来便利,反而有时为了美观,会手贱在文本节点中加些空格,使得解析起来又是个问题了(不是所有的XML解析器都有忽略空格的选项)。

 

  总结一下,选择XML结构应优先考虑是否便于解释。在满足这个条件的情况下,可以选择简单、一目了然的结构。至于扩展性,这得综合需求得各方面因素来考虑,在这转一篇相关的文章:程序语言的常见设计错误(2) - 试图容纳世界

posted @ 2013-04-23 20:50  h46incon  阅读(429)  评论(0编辑  收藏  举报