java VTD XML内部XPath表达式
例如,我有一个xml文件,如下所示
<root>
<test>
<bla>test1</bla>
</test>
<test>
<bla>test2</bla>
</test>
<test>
</test>
</root>
现在我想通过使用XPath表达式使用vtd xml解析器解析它。首先,我通过
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("//test");
现在我想在这个test
标记中搜索bla
标记
int result = -1;
int count = 0;
while ((result = ap.evalXPath()) != -1) {
// evaluate XPath Expressions within the test tags
}
有人能告诉我怎么表达吗?我不想在整个文档中搜索bla
标记,因为我希望能够将bla
标记分配给test
标记。例如,如果bla
标记为空,并且我在整个文档中搜索bla
标记,则无法执行此操作
# 1 楼答案
下面是使用2个XPath的替代方案。仅使用一个xpath获取“test”标记,然后使用循环遍历其子级以查找“bla”标记
# 2 楼答案
开头的段落似乎表明你想要这样:
然而,结尾的段落似乎表明你想要一些不同的东西
# 3 楼答案
您可以声明另一个自动驾驶仪(如下所示),尽管它并不总是最简单的方法
然后将其嵌套在循环中
但问题是第二个xpath需要是相对的xpath表达式
# 4 楼答案
对于学习VTD-XML的人来说,这里有一篇由VTD开发人员自己撰写的关于如何编程的优秀文章
在主页上找不到这个,但它对启动有很大帮助