2016-05-19 5 views
2

VTD-XMLでは、次のXPath文を実行できますか?VTD-XML:XPath文 - if(10> 5)then "yes" else "no"

if(10 > 5) then "yes" else "no"`

私ははるかに複雑なステートメントを持っていますが、現在のセットアップでは実行されません。可能な方法は、evalXPathToBoolean(),evalXPathToNumber()およびevalXpathToString()です。実行しようとする場合でも、私はこのエラーが発生します:

com.ximpleware.extended.XPathParseExceptionHuge: XPath Syntax error: #8

autoPilot.selectXPath(xpath) // does not like this 
while((i=autoPilot.evalXPath())!=-1){   
list.add(vtdNav.toString(i)); 
} 

これは、有効なXPathとのXMLSpyにおける作品です。 VTD-XMLでこれを行うことは可能ですか?お知らせ下さい。

+0

trueまたはfalseを返すためにevalXPathToBoolean()を使用できますが、条件付きロジックははるかに複雑で、最終的には別のXPathステートメントに基づいて文字列を返す必要があります。実行される。 – vScanger

答えて

0

VTD-XMLは、XPath 1.0のフルセットをサポートしています。あなたが指摘した構文は、おそらくXPath 2.0の構文です...この時点でVTD-XMLではサポートされていません。

解決策/回避策は、条件文を使用してアプリケーションロジックにコード化し、VTD-XML XPathブール値/数値評価機能を使用して値を取得し、条件論理に組み込むことです...