1. <item>
  2.     <title>标题</title>
  3.     <pubdate>日期</pubdate><!-- post的日期,可选 -->
  4.     <dc :date>备选日期</dc><!-- pubdate的备选项。如果两个都没有,将使用导入时日期时间 -->
  5.     <category>目录</category><!-- post的目录,可选。 -->
  6.     <dc :subject>备选目录</dc><!-- category的备选项。如都无,使用options中的Default post category -->
  7.     <guid .+?>post的permalink</guid><!-- 可选 -->
  8.     <content :encoded>内容</content>
  9.     <description>备选内容</description>
  10. </item>

由此,能用于wordpress2.0 import的最简xml格式为:

  1. <item>
  2.     <title>标题</title>
  3.     <pubdate>日期</pubdate><!-- 谁会将所以post都设定到同一个时间上呢?还是带上吧 -->
  4.     <content :encoded>内容</content>
  5. </item>

既然知道了import所需文件的格式,转换工作也就变得简单了。
当你有其他blog的备份xml文件时,通过记事本等工具将相应内容的标签改为所需标签即可!
例如oblog:

1、打开oblog的备份文件
oblog备份转换成适用于wordpress导入的rss文件

2、在编辑处选择”替换”
oblog备份转换成适用于wordpress导入的rss文件

3、在相应的位置填上适当的内容(oblog为:log替换为item]]> 替换为 ]]></content><![CDATA[#isubb 替换为 <content:encoded><![CDATA[),按”全部替换”
oblog备份转换成适用于wordpress导入的rss文件

4、到了此步,基本已经完成。但oblog备份的”post内容”是没有任何html标签格式的,就这样导入,blog上显示必定成一团。这时我们可以写一小段php代码,使post内容具有一定的格式(下列php代码可在”post内容”分段处添加<br />):

  1. < ?php
  2. $xml = "";
  3. $f = fopen( 'oblog.xml', 'rb' ); //oblog.xml为刚才转换后的oblog备份文件
  4. while( $data = fread( $f, 4096 ) ) { $xml .= $data; }
  5. fclose( $f );
  6.  
  7. preg_match_all( "/<item>(.*?)< /item>/s", $xml, $items );
  8.  
  9. foreach( $items[1] as $item ){
  10. $item = str_replace ("rn", '<br />', $item);
  11. echo '<item>'.$item."</item>rn";
  12. }
  13. ?>

5、将上面代码保存为php文件,运行之,将生成文档保存为xml文件,到此时转换完成!

哦,对了。oblod备份的编码为“gb2312”,转成“UTF-8”,只需在记事本中“另存为”,然后把编码设为“UTF-8”后保存就行了。