读书人

用dom4j创办plist

发布时间: 2012-08-22 09:50:35 作者: rapoo

用dom4j创建plist

plist文件广泛使用在Mac系统上,iPhone程序也在很多地方直接操作该文件。该文件类型实际上就是个XML,而且格式相当简单一致,这里给文件结构给出讲解,也顺便复习一下快忘光的java。

?

首先plist是xml,版本1.0,字符集始终采用utf-8,然后DOCTYPE是plist,publicID和systemID也是固定的值,然后就是标准的plist节点,这个节点将视为根节点,对应在plist视图中的Root,注意根节点有一个属性是version,一般是1.0。

?

每个节点,包括根节点都有其类型,分容器型和值型,容器型有DICTIONARY和ARRAY,DICTIONARY就是键值对应,ARRAY就是简单罗列;值型则有BOOLEAN,DATE,DATA,NUMBER,STRING。对应到xml文件中,DICTIONARY简写成dict,ARRAY还是写成array,BOOLEAN只有true和false两个值,其他的都顾名思义。

?

那么层次关系也是很明确的,只有容器型才能有下层,值形只能做容器类里的子项,如果是dict类型,则必须填写键的名字和值的内容,反应到xml文件里就是<key>xxx</key><string>yyy</string>,当然后一个string完全可能是</false>等其他类型。而array里的子项则没有键的名字,直接依次写<string>xxx</string>即可,然后那些项就会被取名为Item 1之类。同时容器型的子项完全可以是容器型,层层包裹都没关系。

?

修正一下,原来的代码有些问题,用FileWriter使用的是系统默认编码,与OutputFormat制定的utf-8无关,改为OutputStream

?

?随手写了个把xml里面的错误代码转到plist里的方法,随便看看。

读书人网 >移动开发

热点推荐