2011-09-30 42 views
12

給定一個用戶輸入字符串,如何判斷它是否爲 有效的Xpath表達式或不是Java中的。只是好奇,因爲我不能 找到一種方法來使用javax.xml.xpath庫。謝謝。驗證Java中的xpath表達式

+0

你應該接受你所問的每個問題的答案......它使人們不太可能花時間和精力來幫助你,並且也有點忘恩負義。 – Troyseph

回答

24

我假設你想驗證語法,但不是如果表達式在你的xml或xml架構的上下文中有效。您可以使用compile(..)方法,如果xpath在語法上不正確,它將引發異常。

XPathFactory factory = XPathFactory.newInstance(); 
XPath xpath = factory.newXPath(); 
XPathExpression expr = xpath.compile("//book[author='Abc']/title/text()"); 
+0

工作正常!謝謝:) –

+2

@ Jeffrey.W.Dong接受這個答案,如果它有幫助 –

0

針對某些示例XML文檔(例如<a/>)運行XPath。在大多數情況下,它不會返回任何內容,但是您關心的是它是否會拋出異常。