ScalaでXML
ScalaでXMLを扱うときに要素や属性の取得方法がぐぐってもなかなか出てこなかったのでメモ。Nodeの\メソッドを使うのが一番簡単みたい。
package hoge object SimpleXml { def main(args : Array[String]) : Unit = { val xml = <a name="a"><b name="b1"/><b name="b2"/></a> // 属性の取得 Console.println((xml \ "@name").text); // 一番目のb要素の取得 Console.println((xml \ "b")(0)); // 2番目のb要素のname属性 Console.println(((xml \ "b")(1) \ "@name").text); } }
\のReturnTypeはNodeSeqだから、属性の値がほしい場合はtextを参照すればいいらしい。
ちょっとカッコよくない?コレ。