如何避免属性窜进具有XML节点无类型:斯卡拉XML null检查属性
我想下面的代码,但它不工作:
scala> val checked:Option[String] = None
checked: Option[String] = None
scala> val xml = <input checked={checked} />
<console>:11: error: overloaded method constructor UnprefixedAttribute with alternatives:
(key: String,value: Option[Seq[scala.xml.Node]],next: scala.xml.MetaData)scala.xml.UnprefixedAttribute <and>
(key: String,value: String,next: scala.xml.MetaData)scala.xml.UnprefixedAttribute <and>
(key: String,value: Seq[scala.xml.Node],next1: scala.xml.MetaData)scala.xml.UnprefixedAttribute
cannot be applied to (String, Option[String], scala.xml.MetaData)
val xml = <input checked={checked} />
预期的输出是这样的:
xml: scala.xml.Elem = <input/>
如果检查的类型是xml.Text,那么它的工作。所以基本上我想有条件地插入属性,如果value是Some(type),那么包含属性如果它的None然后忽略,它怎么可能与Xml.Text以外的属性类型?
这个scala.xml.Text.apply适用于所有数据类型,包括Integers/BigDecimal/DateTime吗? – user1079341
在字符串类型上使用映射时出现此错误: 类型不匹配:expected(char)=> NotInfferedB actual:(String)=>文本 – user1079341
如果我理解我们正在讨论'Option [String]'而不仅仅是'String',所以地图会清晰地工作。关于另一个类型,例如'Int',你可以用'scala.xml.Atom'映射它。对于实例'val xml = '还有一点,这也可以在Option [String]中使用。 –