Как проанализировать XML-файл в Scala, используя библиотеку VTD-XML? - PullRequest
2 голосов
/ 01 марта 2011

Кто-нибудь знает, как анализировать большие XML-файлы, используя Xpath , используя vtd-xml библиотеку в Scala ?

Ответы [ 2 ]

1 голос
/ 01 марта 2011

@ huynhjl : Спасибо .. Это хорошо работает.

Используйте

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

, чтобы получить вывод как

COUNTRY
USA
COUNTRY
UK
COUNTRY
UK
COUNTRY
USA
1 голос
/ 01 марта 2011

Это работает на моей локальной машине:

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
...