สมัยก่อนช่วงอยู่เตรียมจนถึงปีหนึ่ง เคยเขียนไดอารีอยู่ที่ http://www.tod4yis.net
จำได้ว่าช่วงนั้นมีความสุขแหะ : ) เพื่อนๆเยอะมากเฮอา
ก่อนที่จะเริ่มมีมรสุมชีวิต รุสึกว่าจะเป็นตั้งแต่ตอนสอบ PIC ตอนปี 2 แล้วมีเรื่องล่ะมั้ง
หลังจากนั้นเป็นต้นมาชีวิตก็โคดซวยเลย ฮือๆ TvT
สาระสำคัญของวันนี้ก็คือว่า โพสต์เก่าทั้งหมดมันอยู่ในรูปแบบ MS Access แหล่ะ แต่ว่าตัว BlogEngine นี่มันก็ Support BlogML (เป็นโปรเจคที่พยายามตั้งสร้างมาตรฐานสำหรับบลอก) ซึ่งหลังจากลองไปดูที่โปรเจกของเว็บ BlogML ก็มีเครื่องมือให้ใช้โครตครบ ก็เลยจัดการได้อย่างไม่ยากนัก ใครอยากหาอ่านเรื่องเก่าๆ ... ก็ลองหาดูละกัน
อ่านเองแล้วรุสึกโครตเกรียน (ขนลุก) เลยไม่ค่อยอยากเผยแพร่เท่าไหร่ อ่านวิธีเขียนสมัยก่อนกับตอนนี้แล้วคนละเรื่องเลย (แต่รุสึกว่าเขียนแบบเมื่อก่อนจะดีกว่านะ
)
จริงๆยังมีอีกสองที่ที่อยากย้ายเข้ามาด้วย คือที่ Lives แล้วก็ที่ Multiply ซึ่งคิดว่าคงไม่เขียนต่อแล้ว รอมีเวลาว่างก่อนค่อยย้ายต่อละกัน อิอิ
อัพเดท: เห็นคุณน้องจ๊อบบี้สนใจ เอาโค้ดมาลงเลยละกัน
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BlogML.Xml;
using System.Xml;
using Rss2BlogML;
using ConvertToBlogML.diary300DataSetTableAdapters;
namespace ConvertToBlogML
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void uxConvert_Click(object sender, EventArgs e)
{
BlogMLBlog blog = new BlogMLBlog();
DateTime approxNow = DateTime.Now.ToUniversalTime().Add(
new TimeSpan(7, 0, 0));
blog.RootUrl = "http://www.solidskill.net";
BlogMLAuthor author = new BlogMLAuthor();
author.Approved = true;
author.Email = "m3rlinez@gmail.com";
author.ID = "m3rlinez";
author.Title = "m3rLinEz";
author.DateCreated = approxNow;
author.DateModified = approxNow;
blog.Authors.Add(author);
StoriesTableAdapter storiesAdap = new StoriesTableAdapter();
diary300DataSet.StoriesDataTable stories =
storiesAdap.GetData();
foreach (diary300DataSet.StoriesRow story in stories)
{
// Create post
BlogMLPost post = new BlogMLPost();
post.Approved = true;
post.PostType = BlogML.BlogPostTypes.Normal;
BlogMLAuthorReference rf = new BlogMLAuthorReference();
rf.Ref = "m3rlinez";
post.Authors.Add(rf);
post.Title = story.Title;
post.Content = new BlogMLContent();
post.Content.Text = story.Story;
post.DateCreated = story.DateTime.Add(new TimeSpan(7, 0, 0));
post.DateModified = story.DateTime.Add(new TimeSpan(7, 0, 0));
post.Views = 0;
// Create comments
diary300DataSet.CommentsDataTable comments =
(new diary300DataSetTableAdapters.CommentsTableAdapter()).GetDataByID(story.ID);
foreach (diary300DataSet.CommentsRow comment in comments)
{
BlogMLComment c = new BlogMLComment();
c.Approved = true;
c.Content = new BlogMLContent();
c.Content.Text = comment.Message;
try
{
DateTime a = comment.DateTime;
}
catch (StrongTypingException)
{
comment.DateTime = story.DateTime;
}
c.DateCreated = comment.DateTime.Add(new TimeSpan(7, 0, 0));
c.DateModified = comment.DateTime.Add(new TimeSpan(7, 0, 0));
c.Title = comment.SubmitAddress;
c.UserUrl = comment.SubmitAddress;
c.UserName = comment.SubmitBy;
post.Comments.Add(c);
}
blog.Posts.Add(post);
}
SaveFileDialog dialog = new SaveFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
using (XmlTextWriter writer = new XmlTextWriter(
dialog.FileName, aEncoding.UTF8))
{
BlogMLWriter blogwriter = new BlogMLWriter(blog);
writer.Formatting = Formatting.Indented;
blogwriter.Write(writer);
writer.Flush();
}
}
}
}
}
อัพเดทอีกรอบ: เอาไดอารีอันแรกที่เขียนเข้าไปรวมด้วยแล้วครับ เนื้อหาเก่าสุดๆ เกรียนสุดๆ (บางอันทนไม่ไหวต้องลบทิ้งไป แต่ก็ยังเก็บต้นฉบับไว้อยู่นะ
)
Tags: blog, c#, asp.net