0
jaxbを使用してScalaオブジェクトをXMLにシリアル化する(ScalaネイティブXML機能を使用しない)このコードをScalaで記述しました。ScalaでJAXBを使用してXMLにシリアライズ
@XmlRootElement(name = "SESSION")
@XmlAccessorType(XmlAccessType.FIELD)
case class Session(
@XmlAttribute(name="TYPE")
sessionType: String
) {
def this() = this("")
}
@XmlRootElement(name = "FOO-BAR")
@XmlAccessorType(XmlAccessType.FIELD)
case class FooBar(
@XmlElement
session: Session
) {
def this() = this(new Session())
}
object JAXBTest extends App {
val context = JAXBContext.newInstance(classOf[FooBar])
val fooBar = FooBar(Session("mysession"))
val stringWriter = new StringWriter()
val marshaller = context.createMarshaller()
marshaller.marshal(hHonors, stringWriter)
println(stringWriter.toString)
}
生成XMLは
<FOO-BAR><session><sessionType>mysession</sessionType></session></FOO-BAR>
のように見えます。しかし、私はしたいXMLは、あなたは注釈を再定義し、それらを使用するためにScalaのタイプを使用する必要があります
<FOO-BAR><SESSION TYPE="mysession"></SESSION></FOO-BAR>
が完了要旨一例ですさらに、0..1カーディナリティをOption にマッピングするアダプタhttps://gist.github.com/javathought/658c0554145ae6b7f89bd34ca71d8e0e – Javathought