我在Play框架驅動的webapp中有簡單的實體。它看起來像這樣:玩框架:解析XML到模型
case class MyItem(id: Option[Long] = None, name: String, comments: List[Comment])
case class Comment(commentDate: Date, commentText: String)
而且我從DB,看起來像這樣的XML:
<?xml version="1.0"?>
<item>
<id>1</id>
<name>real item</name>
<comments>
<comment>
<comment_date>01.01.1970</comment_date>
<comment_text>it rocks</comment_text>
</comment>
<comment>
<comment_date>02.01.1970</comment_date>
<comment_text>it's terrible</comment_text>
</comment>
</comments>
</item>
而現在,我與它解析到模型和形式的映射不知道。
我的形式映射以防萬一(現在不編譯):
val itemForm = Form(
mapping(
"id" -> optional(longNumber),
"name" -> nonEmptyText,
"comments" -> list(mapping(
"commentDate" -> date("dd.mm.yyyy"),
"commentText" -> text
)(Comment.apply)(Comment.unapply))
)(MyItem.apply)(MyItem.unapply)
)