- 追加された行はこの色です。
- 削除された行はこの色です。
*概要 [#p97f5ed6]
XML<=>YAML<=>JSON<=>HashMapをScalaからスムーズに扱うためのjarファイルをつくっています。
*XMLをYAMLに変換する例 [#ud9ac316]
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
*結果 [#b19f014a]
---
users:
-
mail: ichiro@example.com
name: Ichiro
-
mail: jiro@example.com
name: Jiro
-
mail: saburo@example.com
name: Saburo
*目次 [#hcb47b12]
#contents
#areaedit
*ダウンロード [#pcbaafdc]
[[scala prototype.zip]]
からダウンロードしてください。
#areaedit(end)
#areaedit
*使い方 [#k964816a]
**環境設定 [#l1ef2c43]
必要なJarファイルをscalaのクラスパスに格納しておきます。
**インポート [#j59f4166]
メソッドをつかう前に下記のインポートをしておきます。
import prototype.Prototype._
-説明:文字列をxmlとしてHashに格納し、HashをYamlとして変換し、pメソッドでprintlnしています。
#areaedit(end)
*使えるメソッド [#ybdaa351]
**xml [#j2b3acab]
***"文字列".xml [#o75c6611]
文字列をXMLとして取り込みます。
***ハッシュ.xml [#a2bcecc3]
ハッシュをXMLとして文字列に変換します。
**yaml [#z5c2020e]
***"文字列".yaml [#nb4fcf8f]
文字列をYAMLとして取り込みます。
***ハッシュ.yaml [#hb430fa5]
ハッシュをYAMLとして文字列に変換します。
**json [#p50d11e8]
***"文字列".json [#g7230391]
文字列をJSONとして取り込みます。
***ハッシュ.json [#g96eeab3]
ハッシュをJSONとして文字列に変換します。
**p [#qef1630d]
文字列を出力します。
*このJARファイルに含まれるJARファイルについて [#v701f89b]
-Json
--Jsonic
http://jsonic.sourceforge.jp/
-Yaml
--Jyaml
http://jyaml.sourceforge.net/index.html
-Xml
--xml-apis
--xml-apis-ext
Xalan-Javaに含まれている
#areaedit
*規約 [#m4bab96b]
たとえば、xmlにusersという名前の要素名とuserというその子供の要素がある場合を想定した説明をします。
**XML化する際の規約 [#hd0ea6a4]
たとえば、配列データがあったとした場合、XMLに無名の要素は組み込めない仕様なので、親要素名から一文字削った要素名を自動で用意することにしています。
-例
YAMLをXMLに変換する場合usersしかデータがもっていなくても、自動的にuserという名前の要素が格納されるのです。
**XMLをYAML化する際の規約 [#g7eb2b88]
上記との逆操作として、子の要素が親要素の一文字削っただけの名前の場合、配列要素として見なします。
-例
XMLに含まれるuser要素はYAMLに変換する際に配列要素となるため、無名になります。
#areaedit(end)