Tags: , , 1,373, Posted in 博客贴士 6 条留言

From 孙楠的技术讲堂@Blogbus
鉴于大多数人目前是没有办法正常访问Blogbus的,我转帖过来,请作者谅解。
————————————————-

Blogbus有一个很不错的功能“导出日志”,该功能可以将你所有的博客文章导出为XML格式以便备份和编辑。今天我们就来讲一讲导出日志的XML文件格式。

首先我们把自己的博客导出,步骤如下:
1、登录blogbus
2、选择博客->博客设置->导入导出->点这里导出日志
3、保存XML文件

然后我们就可以分析XML文件格式了,用IE,Firefox或Visual Studio将备份文件打开,便可以看到它的结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<blogbuscom dtype="BlogData" SchemaVersion="1.1" Creator="BlogBus.Com BlogSystem V4.0">
// 导出文件的数据类型,版本和出处
    <description> // 博客描述
        <blogname>博客名称,例如:孙楠的技术讲堂</blogname>
        <domainname>博客地址,例如:sunnantechnology.blogbus.com</domainname>
        <exporttime>导出的时间,格式为:2008-12-20 15:43:26</exporttime>
    </description> // 描述结束
    <log> // 博客日志
        <title>日志标题,例如:Blogbus导出日志的XML文件格式分析</title>
        <status>日志状态,控制隐藏和置顶,隐藏为0,正常为1,置顶为2</status>
        <allowcomment>评论,Y为允许,N为不允许</allowcomment>
        <allowping>引用,Y为允许,N为不允许</allowping>
        <allowlinks>自动链接,Y为允许,N为不允许</allowlinks>
        <writer>作者姓名,可以为空</writer>
        <sort>分类,为什么用Sort,Catalog不是更好?</sort>
        <content>日志内容,包括html格式</content>
        <excerpt>日志摘要,包括html格式</excerpt>
        <tags>关键词,关键词之间用空格分隔</tags>
        <logdate>日志时间,格式为:2008-04-17 13:40:00</logdate>
        <comments> // 这个标记做什么用?可以省略吗?
            <comment> // 博客评论
                <email>评论者的邮件地址</email>
                <homepage>评论者的主页地址</homepage>
                <createtime>评论时间,格式为:2008-12-19 21:45:48</createtime>
                <nicename>评论者的姓名</nicename>
                <commenttext>评论的内容和回复,无html格式</commenttext>
            </comment> // 评论结束
            <comment>...</comment> // 更多评论
        </comments> // 这个标记做什么用?可以省略吗?
    </log> // 日志结束
    <log>...</log> // 更多日志
</blogbuscom> // 导出文件结束

Blogbus的XML导出文件结构简单清晰,易读易维护,设计得不错。但是关于<Comments></Comments>这个标记,真的需要吗?

1、首先不可能是排序用,日志和评论都以时间排序,而时间都已经有了相应的标记
2、如果是要把评论按照每篇日志分开,似乎也没有必要,毕竟每个<Comment></Comment>都在<Log></Log>里面

思来想去,我感觉比较可能的作用是,在批量处理评论的操作中,可以节省时间。操作数可以从评论条数,减少到日志条数。但是从算法来说,都是O(n),真正效果如何,就要实测了。

另外:
1、日志的顺序可能与博客上看到的顺序不同,但是不会影响导入后的结果。这是由XML的特性决定的。
2、有了XML可以批量删除不必要的html标记,比如将>&nbsp ;< 批量替换为><,也可以把搬家时丢失的评论加进去,当然最重要的功能还是存档啦。

January 10, 2010