はてなダイアリーの分割
はてなでサブアカウントを作成できるというのを知って、さっそく作ってブログをもう一個作った。
で、本関係のエントリーを全部そっちに移そうと考えて、ダイアリーのデータをXMLにエクスポートした。
このXMLから本関係のエントリーだけを抽出して、新しいブログにインポートするわけだ。
ということでこの処理をPowerShellでさくっと書いてみた。
$xml = [xml](Get-Content coma2n.xml -encoding UTF8) $xml.diary.day | ? { $_.body -notmach ".*\[(書籍|小説)\].*" } | % { $_.diary.RemoveChild($_) } $xml.Save("coma2n_new.xml")
- Get-ContentでXMLを読み込んで「xml」型(実際にはSystem.Xml.XmlDocument)にキャストする。
- $xml.diary.dayで「//diary/day」というXPath式で検索した結果と同じ内容が得られる(こういうところ便利やね)
- そのノードの中から「書籍」と「小説」というタグが含まれていないものを削除する。
- 変更したドキュメントを別名で保存する。
このXMLをインポートして無事移設完了。