2016-05-19 59 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

請注意,我知道我可以使用evalXPathToBoolean()返回true或false,但條件邏輯要複雜得多,並且最終必須根據另一個XPath語句返回一個字符串被運行。 – vScanger

回答

0

VTD-XML支持全套XPath 1.0。您提到的語法可能是XPath 2.0語法......目前VTD-XML不支持這種語法。

解決方案/解決方法是將您的條件語句編碼到您的應用程序邏輯中,並且只使用VTD-XML XPath布爾值/數字評估功能來獲取值,然後將它們編入您的條件邏輯...