Я использую VTD-XML
для синтаксического анализа некоторых файлов XML с выражениями Xpath, теперь показывается следующее: мне нужно знать индекс узла из дерева xml, после небольшого поиска я обнаружил, что выражение вроде этого
count(//ds[name='cpu1']/preceding-sibling::*)+1
Предоставляет мне необходимый индекс - мой вопрос: насколько я использую VTD-XML (потому что он быстрый), есть ли возможность использовать этот тип выражения в VTD-XML
?Использование данного выражения вызывает только XpathParseException.
Мой XML выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<rrd>
<version>0003</version>
<step>5</step>
<lastupdate>1290585118</lastupdate>
<ds>
<name>cpu1</name>
<type>DERIVE</type>
<minimal_heartbeat>300.0000</minimal_heartbeat>
<min>0.0</min>
<max>1.0000</max>
<last_ds>69375.6708</last_ds>
<value>0.0001</value>
<unknown_sec>0</unknown_sec>
</ds>
<ds>
<name>cpu0</name>
<type>DERIVE</type>
<minimal_heartbeat>300.0000</minimal_heartbeat>
<min>0.0</min>
<max>1.0000</max>
<last_ds>69375.6708</last_ds>
<value>0.0001</value>
<unknown_sec>0</unknown_sec>
</ds>
...