1
私はscala xml変換で遊んでいますが、私の下のプログラムでは期待した出力が得られません。変数とRewriteRuleを使用したscala-xml変換
import scala.xml.{Elem, Node, Text}
import scala.xml.transform.{RewriteRule, RuleTransformer}
object XmlTransform extends App {
val name = "contents"
val value = "2"
val InputXml : Node =
<root>
<subnode>1</subnode>
<contents>1</contents>
</root>
val transformer = new RuleTransformer(new RewriteRule {
override def transform(n: Node): Seq[Node] = n match {
case elem @ Elem(prefix, label, attribs, scope, _) if elem.label == name =>
Elem(prefix, label, attribs, scope, false, Text(value))
case other => other
}
})
println(transformer(InputXml))
}
変換なしでxmlを出力します。
<root>
<subnode>1</subnode>
<contents>1</contents>
</root>
case elem @ Elem(prefix, label, attribs, scope, _) if elem.label == "contents" =>
Elem(prefix, label, attribs, scope, false, Text(value))
のような文は、それが何午前期待変換されたXML
<root>
<subnode>1</subnode>
<contents>2</contents>
</root>
をプリントアウト "場合場合" には名前の変数(私は望んでいませんでしたが)を私が交換した場合私はここで間違っている?