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))
}