2

我正在使用 VTD 解析和拆分非常大的 XML 文件,并在调用AutoPilot.evalXPath().

考虑以下 XML:

<atlas>
    <continents>
        <continent>
            <name>North America</name>
            <countries>
                <country>
                    <name>Canada</name>
                </country>
                <country>
                    <name>US</name>
                </country>
            </countries>
        </continent>
        <continent>
            <name>South America</name>
            <countries>
                <country>
                    <name>Chile</name>
                </country>
                <country>
                    <name>Brazil</name>
                </country>
            </countries>
        </continent>
    </continents>
</atlas>

我正在AutoPilot初始化autopilot.selectXPath("/atlas/continents/continent/countries/country");

当我使用 遍历匹配autopilot.evalXPath()项时,我需要每个元素的绝对 XPath,例如/atlast/continents/continent[1]/countries/country[2].

我尝试了几乎所有的方法VTDNav-AutoPilot

  • VTDNav.getXPathStringVal() / VTDNav.getXPathStringVal(short mode)
  • VTDNav.toNormalizedXPathString(int j)
  • AutoPilot.getExprString()

有任何想法吗?

4

1 回答 1

0

我不认为 vtd 在当前版本中提供功能,实际上我不知道有任何提供此功能的 api。我认为原因是任何当前元素节点都有许多不同的可能 XPath ......你怎么看?

于 2015-08-04T03:51:50.657 回答