File 如何在Scala中传递命令行参数文件?

File 如何在Scala中传递命令行参数文件?,file,scala,command-line,sbt,command-line-arguments,File,Scala,Command Line,Sbt,Command Line Arguments,到目前为止,我的主要方法是: def main(args: Array[String]) = { val doc: scala.xml.Elem = args(0) } 但是,当我转到命令并写入: sbt run text.xml 我得到以下信息: [错误]找到:字符串 [错误]必需:scala.xml.Elem [错误]val doc:scala.xml.Elem=args(0) 另外,我不想寻找像scopt这样的解析器,我只是想把文件传递给我的代码 谢谢 编辑:如果args(0)

到目前为止,我的主要方法是:

def main(args: Array[String]) = {  

val doc: scala.xml.Elem = args(0)

}
但是,当我转到命令并写入:

sbt run text.xml
我得到以下信息: [错误]找到:字符串 [错误]必需:scala.xml.Elem [错误]val doc:scala.xml.Elem=args(0)

另外,我不想寻找像scopt这样的解析器,我只是想把文件传递给我的代码

谢谢


编辑:如果args(0)不能成为scala.xml.Elem,那么我如何将该文件传递给我的程序?

args(0)是字符串,而不是scala.xml.Elem对象

在我看来,你的类型有问题。命令行参数是字符串,但您可以将其分配给scala.xml.Elem类型的doc

看起来你想要更像这样的东西

val doc = XML.loadFile(args(0))

您正在尝试将字符串分配给scala.xml.Elem元素。不能只将字符串类型的值赋给scala.xml.Elem。这是您可能正在寻找的:

val doc: scala.xml.Elem = scala.xml.XML.loadFile(args(0))

您需要解析XML文件:

def main(args: Array[String]) = {  

  val doc: scala.xml.Elem = scala.xml.XML.loadFile(args(0))

}