加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – VTD XML内部XPath表达式

发布时间:2020-12-15 08:31:26 所属栏目:Java 来源:网络整理
导读:我有一个像这样的xml文件 root test blatest1/bla /test test blatest2/bla /test test /test/root 现在我想通过使用XPath表达式使用vtd-xml-parser解析它.首先,我通过搜索测试标签 VTDNav vn = vg.getNav();AutoPilot ap = new AutoPilot(vn);ap.selectXPat
我有一个像这样的xml文件

<root>
 <test>
  <bla>test1</bla>
 </test>
 <test>
  <bla>test2</bla>
 </test>
 <test>
 </test>
</root>

现在我想通过使用XPath表达式使用vtd-xml-parser解析它.首先,我通过搜索测试标签

VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("//test");

现在我想在这个测试标签中搜索bla标签

int result = -1;
int count = 0;

while ((result = ap.evalXPath()) != -1) {
 // evaluate XPath Expressions within the test tags
}

有人能告诉我如何制作这个表达方式吗?我不想在整个文档中搜索bla标签,因为我希望能够将bla标签分配给测试标签.如果bla标签为空,我不能这样做,我在整个文档中搜索bla标签.

解决方法

您可以声明另一个自动驾驶仪(如下所示),尽管它并不总是最简单的方式

AutoPilot ap2 = new AutoPilot(); ap2.selectXPath("blah");

然后将其嵌套在循环中

while ((result = ap.evalXPath()) != -1) {
 // evaluate XPath Expressions within the test tags
  int i2=-1;
  while((i2=ap2.evalXPath())!=-1){
     // do more stuff here
  }
}

但问题是第二个xpath需要是相对的xpath表达式…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读