Xml 如何正确地将scala XPath作为命令参数并使用它?

Xml 如何正确地将scala XPath作为命令参数并使用它?,xml,scala,xpath,Xml,Scala,Xpath,我有一个非常简单的示例xml文件 <?xml version="1.0"?> <root> <Preferences> <test attr="cookies"/> <test attr="cookies"/> </Preferences> <Present> <test2 attr="cake"/> </Present> </root> 第一个打印行不产生任何结果,第二个打

我有一个非常简单的示例xml文件

<?xml version="1.0"?>
<root>
<Preferences>
<test attr="cookies"/>
<test attr="cookies"/>
</Preferences>
<Present>
<test2 attr="cake"/>
</Present>
</root>
第一个打印行不产生任何结果,第二个打印行将其追加到所有xml的末尾


调用此选项时,会将-x选项作为
“\\\Preferences”
发送,以遵循scala x路径语法并避开bash约束。

我认为这不是一件小事,但其他人可能会回答相反的问题。由于Scala是基于Java构建的,请看一看

给定的解决方案提供了一种方法,使其对Scala更友好。

可能的重复
  class CommandLineOptions(args: Array[String]) extends ScallopConf(args){
    banner("XML Tool to Modify Attributes in an XML file")
    val filename = opt[String]("filename", short = 'f', descr = "XML filename" , required = true)
    val xPath = opt[String]("xpath", short = 'x', descr = "XML Xpath" , required = true)

}

def main (args: Array[String]) {
    val opts = new CommandLineOptions(args)
    val xml=XML.loadFile(opts.filename())
    println(xml\opts.xPath())
    println(xml + opts.xPath())
  }