Я использую VTD для анализа и разделения очень больших файлов XML и требую фактического XPath текущего элемента, на который указывает курсор после вызова 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()
Есть идеи?