2

Scalaの vtd-xmlライブラリを使用してXpathを使用して大きな XML ファイルを解析する方法を知っている人はいますか?

4

2 に答える 2

1

これは私のローカルマシンで動作します:

import com.ximpleware.{VTDGen, VTDNav, AutoPilot}

val vtdgen = new VTDGen()
val autopilot = new AutoPilot()
autopilot.selectXPath("/CATALOG/CD/COUNTRY/text()")
if (vtdgen.parseFile("catalog.xml", false)) {
  val vtdnav = vtdgen.getNav()
  autopilot.bind(vtdnav)
  var i = -1
  while({i = autopilot.evalXPath; i} != -1) {
    println(vtdnav.toString(i))
    println(vtdnav.toNormalizedString(vtdnav.getText()))
  }
}
autopilot.resetXPath()

catalog.xmlの入力時の出力:

USA
USA
UK
UK
UK
UK
USA
USA
于 2011-03-01T09:16:49.243 に答える
1

@ huynhjl : ありがとう..うまくいきました。

使用する

println(vtdnav.toString(i-1))
println(vtdnav.toNormalizedString(vtdnav.getText()))

出力を次のように取得します

COUNTRY
USA
COUNTRY
UK
COUNTRY
UK
COUNTRY
USA
于 2011-03-01T11:05:12.433 に答える