导入的 WordPress WXR XML 文件过大,怎么办?

最近又在折腾主机,有几个博客要搬到新的虚拟主机,由于是国外的虚拟主机,进入 phpmyadmin 后台导入mysql数据非常慢,导了了N次都失败,一肚子火,网上找资料。

wordpress 官方有如下的操作方法:

第一步:使用文件切割软件,把导出的 XML 文件切割成你的主机商允许的大小,例如我的是8M。

第二步,用Emeditor 或者 Editorplus 编辑切割后的 WordPress WXR XML 文件,在每一个文件的顶部加上下面的代码:

下面的代码加在最前面:

  1. <rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:wp="http://wordpress.org/export/1.0/"
  6. >
  7. <channel>
  8. 在第一个 <item> 前加入所有的信息,如博客名称,分类,tag等。

下面的代码加在最后面:

  1. </channel>
  2. </rss>

使用这种方法有个缺陷:切割的时候未必能够幸运的每一个文件都切割到整一个Item,很有可能一片文章的标题在上一个文件,正文在下一个文件。

笨人的笨方法:

通过上面的操作,差不多明白了,只需要头部那部分所需的代码在,以及顶部的那部分代码在, WordPress WXR XML 文件就是有效的,所以接下来的操作就很简单了:

第一步,打开从后台导出的 WordPress WXR XML 文件,剪切到N个完整的一个item,使整个 WordPress WXR XML 文件适合上传文件大小上限,然后从后台导入。

第二步,把已经上传了的那部分item清除,然后把刚刚剪切的未导入的文件复制到 WordPress WXR XML 里面,再上传。

第三步:重复上面两步,直到全部导入完毕。

注意:看着挺复杂,原理很简单——留下头尾,中间内容部分替换即可。记得保存为UTF8编码,另外数据记得备份。

相关文章阅读

Date: Aug. 1, 2009 Catalog: 科技 Hits: 5 Via: source