scalaでXML属性の追加・置換

Posted 2011年7月22日 by

scalaでXMLタグの置換を行って、次にXMLタグの属性を追加したり、置換するプログラムです。

import scala.xml._
import scala.xml.transform._

import scala.xml._
import scala.xml.transform._

class ReplacementAttributeRewriteRule(x:String) extends RewriteRule {
	override def transform(node: Node): Seq[Node] = node match {
       case Elem(prefix, "question", attribs, scope, content@_*)  => 
Elem(prefix, "question", attribs append Attribute(None, "defaultdata", Text(x), scala.xml.Null) , scope, content:_*)
       case other => other
	}
}

処理前

<question defaultdata="漢字">質問その1</question>
<question>質問その2</question>

関数呼び出しの引数に「英語」をセットして呼び出すと

処理後

<question defaultdata="英語">質問その1</question>
<question defaultdata="英語">質問その2</question>

Post Details

  • Post Title: scalaでXML属性の追加・置換
  • Author: admin
  • Filed As: Scala
  • Tags:
  • You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

コメントを残す