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表达式… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |