面對 500+ 篇舊文章需統一格式 (段首縮進、RSS 全文輸出),手動修改不現實。博客園支援 MetaWeblog API (基於 XML-RPC),配合開源 XML-RPC.NET 類庫,即可撰寫程式自動化批量修改。
忽略 MSDN 範例 (舊版、易誤導),直接參考 XML-RPC.NET 官網首頁範例:
public class Post
{
[XmlRpcMember("postid")] public int PostID;
[XmlRpcMember("dateCreated")] public DateTime CreateTime;
[XmlRpcMember("title")] public string Title;
[XmlRpcMember("description")] public string Content;
[XmlRpcMember("categories")] public string[] Categories;
}
public interface IMetaWeblogProxy : IXmlRpcProxy
{
[XmlRpcMethod("metaWeblog.getPost")]
Post GetPost(string postId, string userName, string password);
[XmlRpcMethod("metaWeblog.editPost")]
bool UpdatePost(string postId, string userName, string password, Post post, bool publish);
}
var proxy = XmlRpcProxyGen.Create();
proxy.Url = "https://www.cnblogs.com/JeffreyZhao/services/metaweblog.aspx";
var post = proxy.GetPost("12345", "username", "password");
post.Content = post.Content.Replace(" ", ""); // 移除段首兩格空白
proxy.UpdatePost("12345", "username", "password", post, true);
掌握 MetaWeblog + XML-RPC.NET,即可輕鬆實現任何支援標準的部落格平台自動化發文、備份、遷移、批量修改。