有谁知道如何使用 Scala 中的 vtd-xml 库使用Xpath解析大型XML文件?
问问题
657 次
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 回答