私はVTD-XML
を使用してXpath式でいくつかのXMLファイルを解析しています。次のようになりました。xmlツリーからノードのインデックスを知る必要があります。私の知る限りVTD-XMLを使用しています(その速いので)内の式のこの種を使用する可能性があります:私の質問は - 私はこのXpathとVTD-XML、ノードインデックスを取得する
count(//ds[name='cpu1']/preceding-sibling::*)+1
のような表現は私に必要なインデックスを提供することを見つけ検索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>
...
コードを表示できますか?上記のXPath式を使用しようとしたときに、解析エラーが発生しました。 – LarsH
これに加えて、XPathエンジンに関連する質問が書かれています。*ノードのインデックスを知る必要があります*。しかし、あなたのXPath式は絶対式なので、コンテキストに依存しません。 –
ノードインデックスはDOMではなくvtd-xml特有の概念です.xpathはXMLの基礎となるデータ表現に不可知論的であることを忘れないでくださいAutoPilotのevalXPath()以外のノードインデックスを取得してノードインデックスを取得することはできません。 –