import java.lang._
import com.ximpleware._
object Sample {
def main(args :Array[String])= {
// println("helloo")
try{
var i :Int = -1
val vgen :VTDGen= new VTDGen()
val ap :AutoPilot =new AutoPilot()
ap.selectXPath("CATALOG/CD/COUNTRY/text()")
if(vgen.parseFile("../catalog.xml", false)) {
val vnav :VTDNav = vgen.getNav()
ap.bind(vnav)
while((i=ap.evalXPath)!= -1) {
println(vnav.toString(i))
println(vnav.toNormalizedString(vnav.getText()))
}
ap.resetXPath()
}
}
catch {
case e :Exception => println(e)
}
}
}
我已經進口VTD-XML庫 它編譯良好,但在執行打印的異常ArrayIndexOutofBoundException在斯卡拉計劃Usind VTD-XML
:java.lang.ArrayIndexOutOfBoundsException: -1
我已經解決了,而問題的代碼。但問題是,我總是得到-1 ap.evalXPAth
運行通常使用堆棧跟蹤來調試異常......您能更具體地瞭解您的問題嗎? – Palimondo 2011-02-26 12:24:58
您在這裏使用try/catch的方式很糟糕:您可以捕捉所有問題並從上下文中打印單個消息。順便說一句,你的問題很可能與scala無關。 – Palimondo 2011-02-26 12:34:35