Chrome書籤導入IE或Maxthon的程序(二)

 上一篇發了做好的程序,在本地測試可用,不知道大家的環境是否都可以正常運行。這都是次要問題,本身程序也沒什麼難得,完了我把源碼發上來大家下回去完全可以根據自身需要修改。這裏就介紹一下在製作過程中遇到的知識點。

首先,我們既然要把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>

 

好了,這篇就將文件格式的轉化分析到這裏。下篇繼續如何轉換和最終導出書籤的操作。

發佈了73 篇原創文章 · 獲贊 3 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章