「ひっくり返す」というようなことを、ぼくが、書いたけど、なにをひっくり返すのか、わからないと思うので、ちょっと説明しをしておこう。
Bloggerなどのブログサイトだと、かつては、バックアップのために、XMLファイルを出力できたのだ。XMLファイルを出力した場合、投稿記事の順番を、降順から昇順にひっくり返さないとだめなのだ。
投稿記事の順番を降順から、昇順にひっくり返す手段について、ごくごく、あっさりと説明しておこう。
めちゃくちゃに、はぶいて説明すると、まず、拡張子がxmlであるファイルを、テキストエディタで開く。
つぎに、\nで表現できる改行を、絶対にXMLファイル本文中に現れることがない文字列に変換する。たとえば、ぼくは、改行を「〓改〓」というような文字列に、変換している。
「〓」という文字を、今ここで使った以外、ぼくは、本文中で「〓」という文字自体を絶対に使うことがなかったのである。いま使ってしまったので、ここは、処理しなければならなくなるのだけど……。
とりあえず、カンマ区切りでCSVファイルを出力することにする。カンマで区切るつもりなら、カンマも、改行とおなじように処理する必要がある。もとの本文にある、カンマや改行を別の文字列にして、カンマや改行は、特別な機能をもつものとして、あとでつけくわえなければならない。
たとえば、公開日時(カンマ)記事タイトル(カンマ)記事本文(カンマ)\nで表現できる改行という行をつくるとする。そして、そのファイルを、拡張子をcsvにして、保存するとする。
そうすると、表計算ソフトで開けるようになるので、表計算ソフトで開けばいい。
そして、表計算ソフトで、一番左側に、新しく列を追加する。そして、新しい列のところに、昇順の番号をつけるのだ。
たとえば、行が1000行あるとする。オートフィル機能を使えば、一瞬で、0001から1000までの番号をつけることができる。その番号は、いまは昇順に並んでいるわけだけど、降順に並べかえるのだ。
そのあと、左側につけた列を消去してもいいのだけど、いちおう、番号がついていたほうが安心できるので、ぼくは、左側につけた列を消去しないで、CSVファイル(カンマ区切り)として、出力することにしている。
そのCSVファイルを、テキストエディタで開くと、記事の順番がひっくり返ったものを手にすることができるのだ。
このテキストファイルの行は、番号(カンマ)公開日時(カンマ)記事タイトル(カンマ)記事本文(改行)という構成になる。番号(カンマ)を、正規表現を使って一括消去したり、「〓改〓」をもとの改行にもどしたりして、文章を処理するのである。そのあと、TXTファイル形式で保存する。