« ジャガイモの日々 | トップページ | 認知科学 »

REXMLことはじめ

 しばらくぶりにまとまったプログラムになると思うのではじまりのメモがてら。

 HTML というか XML というかになっているものから、その構造や属性などとテキストを取り出して、別の形態に変換する予定(と、非常にあいまいな説明)。

 ということで Nokogiri を試してみたいとも思ったのだけれど、できれば標準添付の rexml でいけたらそれはそれで幸せということで、試すことに。

 基本的なところがわかってきたので試してみると、入れ子になった部分ではちょっと工夫が必要らしいとわかってきた。

<span>あ<ruby>伊<rt>い</rt></ruby>うえお</span><span>かきくけこ</span>

 とかの span から /span までは順次分けていって、そのテキストを取得すればよいのだけれど、前半のような ruby タグがあったりという場合に、全体テキストは element.texts => ["あ","うえお"] とはなっているけれど、「伊」や「い」の部分はあくまでも、それぞれ ruby や rt の内容であって、これを正しい順序のまとまったものとして処理するにはちょっと工夫が必要になりそうなのかと。

 データベース的な構造がしっかりと決まった xml であれば、明示的に指定すればよいのかもしれないけれど、不定なものなので、再帰的にツリーをたどらせて終わるまでという感じにせざるはえないのかな、とも。 とすると、ruby などの部分を判定して処理をわけて行うとかだろうか。 などとあれこれ考えているところ。

 それとも Nokogiri を使ったらこのあたりが解決できたりするだろうか? 一応少し調べてはみようか。

 ちなみに「 私家版REXML APIリファレンス 」 がとても役にたっているのだけれど、「&lt;」の部分が「&amp;lt;」になってしまっていて、「<」が正しく表示されていないような感じが。

|
|

« ジャガイモの日々 | トップページ | 認知科学 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28835/55525985

この記事へのトラックバック一覧です: REXMLことはじめ:

« ジャガイモの日々 | トップページ | 認知科学 »