经过N次Import和数据库清空,终于将之前的WXR文件格式的完备集简化了。
简化原则是适应Sina2WordPress项目的需要,尽可能精简文件大小,删除了导入无效的(如博客标题、博客链接等)和从新浪博客中无法获取的(如评论者的链接和IP等)信息,还有item之前的的作者、分类和标签信息。作者在导入时可以指定的,反而加上会有可能的错误,分类和标签的信息用post中的分类和标签就可以自动统计了。没想明白为什么非要单独列出来,难道是为了空的分类和标签,那还要它干嘛?
一些必不可少的标签及错误总结:
1、wxr_version,缺少会提示“missing/invalid WXR version number”的错误
2、status,否则都会显示成draft
3、post_type,否则无法导入
4、comment_approved,否则无法导入
< ?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.1/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.1/"
>
<!--RSS版本号和名字空间的扩展,以上为固定内容-->
<channel>
<wp:wxr_version>1.1</wp:wxr_version>
<!--WXR格式版本号-->
<item><!--页面或者日志内容,每个为一个item-->
<title>Title test</title>
<!--标题-->
<content:encoded>< ![CDATA[Content_test]]></content:encoded>
<!--这里是正文内容-->
<wp:post_date>2002-12-21 07:59:59</wp:post_date>
<!--发表时间-->
<wp:comment_status>open</wp:comment_status>
<!--评论开启情况,open / closed-->
<wp:status>publish</wp:status>
<!--页面或日志状态,publish / draft / pending / private-->
<wp:post_type>post</wp:post_type>
<!--文章类型,post / page-->
<wp:is_sticky>0</wp:is_sticky>
<!--文章是否置顶,0 / 1-->
<category domain="post_tag" nicename="tag_test">< ![CDATA[Tag Test]]></category>
<category domain="category" nicename="category_test">< ![CDATA[Category Test]]></category>
<!--
日志或页面的标签和分类,可多个
domain:标签对应post_tag,分类对应category
nicename:对应标签或分类的URL友好名称
<![CDATA[]]>:标签或分类的显示名称
-->
<wp:comment><!--评论,可多个-->
<wp:comment_id>1</wp:comment_id>
<!--评论的id,主要用于博主回复的嵌套评论-->
<wp:comment_author>< ![CDATA[anonymous]]></wp:comment_author>
<!--评论者用户名-->
<wp:comment_date>2012-12-21 07:59:59</wp:comment_date>
<!--评论时间-->
<wp:comment_content>< ![CDATA[Content of Comment]]></wp:comment_content>
<!--评论内容-->
<wp:comment_approved>1</wp:comment_approved>
<!--评论是否被允许-->
<wp:comment_parent>0</wp:comment_parent>
<!--父评论,指定所回复的评论-->
</wp:comment>
</item>
</channel>
</rss>