scalaxb生成具有属性

时间:2018-06-08 20:08:40

标签: scala scalaxb

scalaxb根据我的XSD生成了以下案例类定义:

case class Identifier(
   value: String,
   attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
   lazy val typeValue = attributes("@type").as[String]
 }

我正在努力解决这个案例类的实例(特别是如何添加其属性)。尝试以下选项

Identifier("name", Map("@attribute" -> scalaxb.DataRecord("attributeStringVal"))

当我尝试创建Map并将其传递给Identifier对象时,我在编译scala代码时遇到以下错误

"找不到scalaxb类型的证据参数的隐含值.CanWriteXML [String]"。

有人遇到过类似的问题吗?

1 个答案:

答案 0 :(得分:1)

我有一个类似的错误。为了隐式scalaxb.CanWriteXML[String]可用,您需要导入scalaxbPackageName。可以在xmlProtocol.scala特性中找到。假设scalaxbPackageName为com.package.subpackage,那么您需要import com.package.subpackage._