2011年8月30日星期二

有道词典单词本批量导入单词解决方案

有道词典单词本批量导入单词解决方案(vj309原创)
         前几天安装了手机有道词典,发现他的单词本的界面感觉比一直用着的金山词霸好,背单词更方便,还有同步功能。本以为同步就像手机的电话本同步联系人一样, 可以方便快速批量添加每天要背的单词,后来才发现原来是同步自己在使用有道词典桌面版单词本时保存在网易服务器个人账号里的单词,所以只要在已联网的电脑 上批量导入单词到桌面版的单词本,有道就会自动保存到网络服务器,然后手机词典只需要联网同步,就导入成功了,可以随时随地方便的记单词了。当然记单词的 方式因人而异,本人比较喜欢用手机背单词,感觉比看很厚一本的单词书效率高。
        在批量导入的时候碰到了问题,有道只支持自己的单词本格式*.xml。再百度一下,发现有很多人都反映不能批量导入,甚至有不少人是一个一个添加的,其实 我第一次也是一个一个添加的,实在觉得既麻烦又费时,虽然只需要输入一个单词,有道会自动将音标和解释都自动添加,但还是效率太低。只好自己想办法解决。 想着既然有道支持XML,就自己把单词表改成XML的格式吧,当然,写个小程序什么的应该很容易实现,但我不太会编程,就用大家都会的Excel吧。呵 呵,经试验,最后成功了,现在进入正题:

1.分析有道的xml结构:

        随便添加了一个单词到单词本,点击导出,格式当然是.xml的,然后用记事本打开,发现他的XML定义如下:
<wordbook><item>    <word>party</word>
    <trans><![CDATA[n. 政党,党派;聚会,派对;当事人
vi. 参加社交聚会
party: 晚会 | 聚会活动 | 派对]]></trans>
    <phonetic><![CDATA[['pɑ:ti]]]></phonetic>
    <tags></tags>
    <progress>1</progress>
</item></wordbook>

了解一点XML的应该都看得懂了吧,简单说明一下:
<wordbook>
  <item>
    <word>英语单词</word>
    <trans><![CDATA[中文解释]]></trans>
    <phonetic><![CDATA[单词音标]]></phonetic>
    <tags>分类</tags>如果没有分类两个tags之间就是空的,其他的同理,如果没有音标的,音标那里空着就行了)
    <progress>复习进度(次数,用数字表示)</progress>这一对标签没有也不影响导入的,复习功能是6月份的最新版才加入的)
  </item>每一对item中间的内容对应的就是一个单词,所以只要将单词信息加入到item标签,再添加n多item标签就能批量导入了)
  <item>......</item>
  <item>......</item>
  ......
</wordbook>单词本文件的标签)


2.编制xml文件
把单词信息套入到item标签,用Excel中的连接函数"=PHONETIC(A1:I1)"就能很容易实现了。

    2.1  一般我们电子版的单词书都是word格式的,先把word中单词表复制到记事本txt文件中,因为excel可导入读取txt文件。注意在txt文件中将 单词,音标,解释之间用"Tab"键隔开(当然也可以使用其他间隔符,具体的使用过excel的外部数据导入功能就明白了),这样在导入excel为单元 格时能更好的被识别。txt文本文件处理好后,就可以直接将txt文件拖到Excel中了(也可点击"数据-导入外部数据-导入数据",选择文件,使用文 本文件导入向导来导入),Excel会自动的将每个内容对应为一个单元格。如果你的单词表本身就是Excel表格,这步骤就省了。

    2.2  然后要将这些单词信息套入到item的各个标签中,先做好以下表格

<item><word> 单词 </word><trans><![CDATA[ 解释 ]]></trans><phonetic><![CDATA[ 音标 ]]></phonetic><tags> 分类 </tags></item>


再将刚才从txt导入的 Excel单词表一列一列的复制到该表格对应的单元格里,最后用连接函数"=PHONETIC(A1:I1)",把每行的各单元格一相加,就得到了想要的 xml格式了,再把最后这一列复制出来,粘贴到新建的记事本里吧,在记事本文件的开头和结尾分别加上<wordbook> 和<wordbook>标签,有道支持的xml单词本就基本做好了。示例如下:
<wordbook>
<item><word> 单词</word><trans><![CDATA[解释]]>< /trans><phonetic><![CDATA[音标]]>< /phonetic><tags>分类</tags></item>
<item><word> 单词</word><trans><![CDATA[解释]]>< /trans><phonetic><![CDATA[音标]]>< /phonetic><tags>分类</tags></item>
<item><word> 单词</word><trans><![CDATA[解释]]>< /trans><phonetic><![CDATA[音标]]>< /phonetic><tags>分类</tags></item>
</wordbook>

3.最后一点小问题:

        保存文本文件后,直接将文本文件后缀名改为.xml,这就和有道自己导出的单词本是一样的了,这时候导入如果还提示格式不支持,那就是最后一点小小的技术 问题了,新建的文本文件默认的编码方式都是ANSI,这时候只需要将做好的xml文件再用记事本打开,点击另存为,选择编码为Unicode,再保存。现 在就可以顺利导入了,所有问题都解决了。

        虽然流程有点麻烦,但是比起一个一个输入添加效率还是高很多的。

        另外,有道手机词典的发音每次都要联网下载才能使用,如果能选择将发音下载一次后就保存在手机里就好了。希望下个版本有改进吧。

没有评论:

发表评论