stars-one的原創工具——博客園備份工具


前言

寫了兩年多的博客了,我想整理我的博客,問題是,得一個個打開,之后復制粘貼,嫌這樣太麻煩,於是便找到了博客園的備份功能。

但是這個備份功能下載下來的只是一個xml文件,我想把每一篇博文都轉為一個md文件,於是便有了這個Java小工具。

工具下載

GitHub下載(似乎需要翻牆,不然下載速度很慢)

4.0版本下載

修復了標簽關鍵字不能帶空格小bug

新增加目錄導航追加功能

界面預覽:

使用說明

從博客園上下載備份的xml文件 將本項目下載,打開run.bat,輸入前面下載的xml文件的地址,即會在xml文件的同目錄生成一個博客園的文件夾,里面存放MD文件和Html文件

程序講解

涉及知識

  1. IO流
  2. xml解析

xml文件分析

從博客園下載的xml備份文件,格式大概是這樣的

<channel>
	<title></title>
	<link></link>
	<description<</description>
	<language></language>
	<lastBuildDate></lastBuildDate>
	<pubDate></pubDate>
	<ttl></ttl>
	<item></item>
	<item></item>
	...
</channel>

其中的item就是我們博客中每一篇博文

item結構

<item>
	<title></title>
	<link></link>
	<dc:creator></dc:creator>
	<author></author>
	<pubDate></pubDate>
	<guid></guid>
	<description></description>
<item>

item結點之下還有子結點
title是我們的博文標題

link則是我們博文對應的鏈接

description則是我們博客的內容

	NodeList itemLists = document.getElementsByTagName("item");//獲得所有的item結點
	for (int i = 0; i < itemLists.getLength(); i++) {
		NodeList list = itemLists.item(i).getChildNodes();//獲得item結點之下的全部結點,有7個,下標從0開始
		String title = list.item(0).getTextContent();//第一個結點內容是標題
		String link = list.item(1).getTextContent();//第二個結點內容是鏈接
		String description = list.item(6).getTextContent();
		fileWrite(title,link,description);
	}

PS:這里需要注意到是,description里面獲取的內容我們查看的時候發現是下面這樣的代碼
測試。。

這個CDATA其實是個xml的標准標簽,表明這里面的內容都是文本(上面的也就是測試和句號才是內容,解析的時候會忽略掉兩個中括號)

區分md文件和html文件

如果是md文件,開頭不可能出現<這個符號,如果是html文件,因為要使用到各種標簽,p,h,div等標簽,肯定開頭是有<這個符號的

html文件轉md文件

如果想不想要html文件,想要md文件的話,就得手動去整理格式,可以先使用在線的工具將html文件轉為md格式,這個百度一下就有工具了,不過還得慢慢整理一下,格式轉換過來不一定符合排版,我們得手動地去排個版。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM