我正在使用不同的函数(如以下示例)逐段构建XML:
<xml>
{ maybeXml(param) }
</xml>
并尝试根据参数的值返回空的或非空的nodeseq,例如:
def maybeXml(param: Boolean): NodeSeq = {
if(param) <someXml></someXml>
else ??? //Empty or None doesn't work
}
我现在使用的解决方案只是将函数类型定义为option[nodeseq],然后将其用作maybexml.getorelse(“”),但这对我来说没有多大意义。我目前的用法如下:
<xml>
{ maybeXml(param).getOrElse("") }
</xml>
def maybeXml(param: Boolean): NodeSeq = {
if(param) Some(<someXml></someXml>)
else None
}
直接使用空nodeseq更好地表达这一点吗?
最佳答案
对于空的NodeSeq
使用NodeSeq.Empty
def maybeXml(param: Boolean): NodeSeq = {
if(param) <someXml></someXml>
else NodeSeq.Empty
}
关于xml - 如何使用Scala XML返回空的NodeSeq?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36879390/