VTD-XML没有返回正确的值,如何修改查询以获得正确的结果?

时间:2019-06-29 06:44:51

标签: xml xpath vtd-xml

我正在使用以下函数通过VTD-XML解析xml:

final AutoPilot ap = new AutoPilot(vtdNav);
ap.selectXPath(path);
int i = -1;
/** evalXPath returns -1 if no new node is present */
while ((i =  ap.evalXPath()) != -1) {
     extractedValues.add(vtdNav.toString(i+1));
}
/** Reset the XPath */
ap.resetXPath();

但是当我尝试查询时:

<actualUnitCost>
  <chargeOrAllowance>CHARGE</chargeOrAllowance>
  <monetaryAmount currencyISOCode="USD">17.08</monetaryAmount>
</actualUnitCost>

使用路径:     / actualUnitCost / monetaryAmount 它给我的值是currencyISOCode而不是17.08。如何修改查询以获得所需的结果?

我已经尝试过/ actualUnitCost / monetaryAmount / text(),但无法给出正确的答案。

1 个答案:

答案 0 :(得分:0)

我认为这是正确的行为。如果尝试/ actualUnitCost / monetaryAmount / text(),它将为您提供文本节点。

让我知道是否有任何问题。