image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:Maven2の依存関係を可視化するツール, 北米のPC市場でAppleのシェアが14%に伸びた, etc... | トップページ | ピックアップ:Google Translate API, Scala で XML ベースのミニ言語を作る, etc... »

2008-03-21

scala で xml を扱う

scala で XML は簡単に扱える。(ruby 並み)

doukaku.org にあった net から html を取得して、特定の値を取り出す例だ。

$ cat Rss.scala
// See http://ja.doukaku.org/19/nested/
//     http://www.scala-lang.org/docu/files/api/scala/xml/parsing/ConstructingParser.html

import scala.xml.parsing.ConstructingParser
import scala.io.Source

object Rss {
  def main(args : Array[String]) {

    // val url = "http://feeds.feedburner.com/Scala"
    val url = "http://ja.doukaku.org/feeds/comments/"

    val data = Source.fromURL(url)
    val elem = ConstructingParser.fromSource(data,true).document().docElem

    println((elem\"channel"\"lastBuildDate").text)

    // import scala.xml.PrettyPrinter
    // Console.println( new PrettyPrinter(80 /*width*/, 2 /*indent*/).format(elem) )
  }
}

コンパイルして、実行しよう。
$ scalac Rss.scala
$ scala -cp . Rss

Thu, 20 Mar 2008 09:20:47 -0000

scala での xml の処理の方法の入門は次のページが面白い。
- http://burak.emir.googlepages.com/scalaxbook.docbk.html
> > scala.xml

val company  = <a href="http://acme.org">ACME</a>
とか、
val embBook =
    <phonebook>
      <descr>
        This is the <b>phonebook</b> of the
        {company} corporation.
      </descr>
    </phonebook>;
のように、変数に直接 XML を記述したり、XML 中に変数を埋め込んだりできるのだ。
XML を扱う上ではとても便利。(java だとそうはいかず、面倒だ)

記事中のソースコードは subversionで取得できる。
http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk/docs/examples/xml/phonebook/

閲覧するだけなら
https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/docs/examples/xml/phonebook

xfy/xvcd で scala スクリプトをそのままかけるようにすることと、 java の代わりに scala で logic を記述することの両方をサポートすると面白そうだ。

« ピックアップ:Maven2の依存関係を可視化するツール, 北米のPC市場でAppleのシェアが14%に伸びた, etc... | トップページ | ピックアップ:Google Translate API, Scala で XML ベースのミニ言語を作る, etc... »

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: scala で xml を扱う:

« ピックアップ:Maven2の依存関係を可視化するツール, 北米のPC市場でAppleのシェアが14%に伸びた, etc... | トップページ | ピックアップ:Google Translate API, Scala で XML ベースのミニ言語を作る, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク