Chrome书签导入IE或Maxthon的程序(二)

来源:互联网 发布:淘宝兑换虾米会员 编辑:程序博客网 时间:2024/05/01 02:33

 上一篇发了做好的程序,在本地测试可用,不知道大家的环境是否都可以正常运行。这都是次要问题,本身程序也没什么难得,完了我把源码发上来大家下回去完全可以根据自身需要修改。这里就介绍一下在制作过程中遇到的知识点。

首先,我们既然要把Chrome的书签导入IE中,那就要分析Chrome书签文件和IE收藏夹文件的格式,需要进行什么样的转换才可以保证互通性。大家熟悉IE的收藏夹,是文件层级的,不同的链接和分类用文件和文件夹来表示。具体链接文件后缀名为.url,双击后直接导航到该链接页面,用文本编辑器打开,里面的内容很想INI文件的节点和键值。最常用的就是[InternetShortcut]和URL。[InternetShortcut]表示这是个网页快捷文件,URL等号后面的网址就是该链接的地址。当然还有其他一些节点和键名,如图标序号,图标地址等,这些不是必须的。

Chrome书签文件Bookmarks则完全不同,它就一个单一的文件,里面的内容类似XML,书签中的分类也都表现在这个文件中,用不同的关键字区分开而已。下面是一段Chrome书签的代码示例:

 

{
   "roots": {
      "bookmark_bar": {
         "children": [ {
            "children": [ {
               "date_added": "12865393608170580",
               "name": "ClearType Tuner Step 1 Turn on Windows XP ClearType",
               "type": "url",
               "url": "http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx"
            } ],
               "date_added": "12865394044285991",
               "date_modified": "0",
               "name": "/u5730/u56FE/u7EBF/u8DEF",
               "type": "folder"
            }

 

其中roots表示书签的根节点,bookmark_bar表示Chrome中的“书签栏”,children表示具有子栏目的书签集合,在集合符号[]中就是该栏目下的书签和子栏目,而在这这后的一个type:folder的部分是这个栏目的信息,如创建时间,名字等。分析文件结构会发现:

date_added表示书签的创建时间

name代表书签或栏目的名称,为Unicode编码格式

type表示该项是书签还是栏目,url表示书签,folder表示栏目

这样我们就能找到对应关系了,将该文件中的特定符号和关键字替换为XML符号和标记,将Bookmarks转换为XML格式最为方便我们导出书签。因此我们在这里规定以下的符号对应关系:

roots——<bookmark>

bookmark_bar——取消

children——bookmarkchild

date_added——<date_added>

name——<name>

type——<type>

url——<url>

这样转换后的XML基本格式如下:

 

<?xml version="1.0" encoding="GBK" ?>
<bookmark>
 <bookmarkchild>
  <bookmarkchild>
   <date_added>12865393608170580</date_added>
   <name>ClearType Tuner Step 1 Turn on Windows XP ClearType</name>
   <type>url</type>
   <url>http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx</url>

 

好了,这篇就将文件格式的转化分析到这里。下篇继续如何转换和最终导出书签的操作。

原创粉丝点击