zoukankan      html  css  js  c++  java
  • Chrome书签导入IE或Maxthon的程序(二)

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

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

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

       1:  {
       2:     "roots": {
       3:        "bookmark_bar": {
       4:           "children": [ {
       5:              "children": [ {
       6:                 "date_added": "12865393608170580",
       7:                 "name": "ClearType Tuner Step 1 Turn on Windows XP ClearType",
       8:                 "type": "url",
       9:                 "url": "http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx "
      10:              } ],
      11:                 "date_added": "12865394044285991",
      12:                 "date_modified": "0",
      13:                 "name": "\u5730\u56FE\u7EBF\u8DEF",
      14:                 "type": "folder"
      15:              }

    其中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基本格式如下:

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

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

  • 相关阅读:
    迭代器和生成器
    20.03.23作业
    装饰器
    集合
    元组类型
    字典类型
    列表类型
    字符串类型
    for循环
    深浅copy与while循环
  • 原文地址:https://www.cnblogs.com/tristinjet/p/1599310.html
Copyright © 2011-2022 走看看