Как включить карту строк в качестве атрибутов в тег XML с помощью Scala? - PullRequest
0 голосов
/ 03 февраля 2011
val name = "Name";
val value = "Value";
val map = Map(id -> "5", class -> "Nice");
textfield(name, value, map);


def textfield(name: String, value: String, attributes: Map = {}){ //=> Any
    val xml = <text name={name} value={value} {attributes.?} />;
}

Я пытаюсь получить этот результат

<text name="Name" value="Value" id="5", class="nice" />

Я бы хотел использовать литералы xml, если это возможно, но если нет, какие классы xml мне нужно использовать?

1 Ответ

2 голосов
/ 03 февраля 2011
import scala.xml.{Attribute, Text, Elem}
def textfield(name: String, value: String, attributes: Map[String, String] = Map()) = {
  val elem: Elem = <text name={name} value={value} />
  (elem /: attributes) {
    case (el, att) => el % Attribute(att._1, Text(att._2), xml.Null)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...