2011-09-30 12 views
12

Dato una stringa di input utente, come è possibile stabilire se si tratta di un'espressione Xpath valida o non in Java. Solo curioso, dal momento che non riesco a trovare un modo per farlo usando la libreria javax.xml.xpath. Grazie.convalidare un'espressione xpath in Java

+0

Dovresti accettare le risposte ad ogni domanda che fai ... rende le persone meno propense a dedicare tempo e sforzi per aiutarti ed è anche un po 'ingrato. – Troyseph

risposta

24

Presumo che si desideri convalidare la sintassi ma non se l'espressione è valida nel contesto di uno schema xml o xml. È possibile utilizzare il metodo compile(..) e genererà un'eccezione se xpath è errato w.r.t la sintassi.

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

Questo funziona! grazie :) –

+2

@ Jeffrey.W.Dong accetta questa come risposta se ha aiutato –

0

Eseguire XPath contro qualche documento XML di esempio (per esempio <a/>). Nella maggior parte dei casi non restituirà nulla, ma ciò che ti interessa è se genererà un'eccezione.