如何避免屬性竄進具有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]中使用。 –