我需要编写一个返回类型为 NodeSeq(scala.xml.NodeSeq)的函数,
在下面的函数中,我试图通过使用以下代码评估表达式来获取XML文件的NodeSeq。编译器将引发类型不匹配错误。
import scala.reflect.runtime.universe
def someFunc(params): NodeSeq = {
some code
....
val evaluator = universe.runtimeMirror(getclass.getclassLoader).mkToolBox()
val data: NodeSeq = evaluator.eval(evaluator.parse(expression)) // return type - Any
if(data.getclass.getName == scala.xml.NodeSeq) data else NodeSeq.Empty
}
val数据理想情况下应该包含NodeSeq(根据我拥有的数据),但是我正在评估一个表达式,表达式的返回类型可以是任何东西,
我了解,为什么我不能使用上面的代码返回NodeSeq,
我能想到的最好的就是最后一个 if 条件。
有什么办法可以将该函数的返回类型从Any更改为NodeSeq?