2016-04-14 34 views
1

Saksafondan xpath 2.0 aracılığıyla bir xml belgesindeki "formEmail", "form_q \ d {1,3}" ve "title" dizelerini aramak ve yalnızca listenin Motor tarafından bulunursa dizeleri. Biliyorum ki sadece düğümlerin bir listesini döndürüyorum. İlgili dizelerin bir listesini vermek mümkün mü? Hedef dize Özellikte value adlı yanaxpath sadece arama dizgisini döndürür

XPathCompiler xpath = proc.newXPathCompiler(); 
XPathExecutable exePath=xpath.compile(".//property[matches(@value,'formEmail|form_q\\d{1,3}$|title')]"); 

cevap

1

, aşağıdaki XPath kullanarak, dize olarak eşleşen niteliklerini yerine özelliğin üst öğe dönen döndürülen değerine yapabilirdim: Eğer

.//property/@value[matches(.,'formEmail|form_q\\d{1,3}$|title')]/string() 
+0

yinelenen dizeleri ortadan kaldırmak gerekir, daha sonra belki de "ayrı değerler" yazmak için daha iyi olurdu (.// özellik/@ değer [eşleşmeleri (., 'formEmail | form_q \\ d {1,3} $ | başlık')]) ' –