java – VTD XML内部XPath表达式
作者:互联网
我有一个像这样的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表达式…
标签:vtd-xml,java,xml,xpath 来源: https://codeday.me/bug/20190730/1583818.html