概要

XML<=>YAML<=>JSON<=>HashMap?をScalaからスムーズに扱うためのjarファイルをつくっています。

XMLをYAMLに変換する例

import prototype.Prototype._
var yaml = """
<users>
 <user>
   <name>Ichiro</name>
   <mail>ichiro@example.com</mail>
 </user>
 <user>
   <name>Jiro</name>
   <mail>jiro@example.com</mail>
 </user>
 <user>
   <name>Saburo</name>
   <mail>saburo@example.com</mail>
 </user>
</users>
""".xml.yaml.p

結果

目次

[編集]

ダウンロード

scala prototype.zip からダウンロードしてください。

[編集]

使い方

環境設定

必要なJarファイルをscalaのクラスパスに格納しておきます。

インポート

メソッドをつかう前に下記のインポートをしておきます。
import prototype.Prototype._

使えるメソッド

xml

"文字列".xml

文字列をXMLとして取り込みます。

ハッシュ.xml

ハッシュをXMLとして文字列に変換します。

yaml

"文字列".yaml

文字列をYAMLとして取り込みます。

ハッシュ.yaml

ハッシュをYAMLとして文字列に変換します。

json

"文字列".json

文字列をJSONとして取り込みます。

ハッシュ.json

ハッシュをJSONとして文字列に変換します。

p

文字列を出力します。

このJARファイルに含まれるJARファイルについて

http://jsonic.sourceforge.jp/

http://jyaml.sourceforge.net/index.html

Xalan-Javaに含まれている

[編集]

規約

たとえば、xmlにusersという名前の要素名とuserというその子供の要素がある場合を想定した説明をします。

XML化する際の規約

たとえば、配列データがあったとした場合、XMLに無名の要素は組み込めない仕様なので、親要素名から一文字削った要素名を自動で用意することにしています。

YAMLをXMLに変換する場合usersしかデータがもっていなくても、自動的にuserという名前の要素が格納されるのです。

XMLをYAML化する際の規約

上記との逆操作として、子の要素が親要素の一文字削っただけの名前の場合、配列要素として見なします。

XMLに含まれるuser要素はYAMLに変換する際に配列要素となるため、無名になります。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS