2012-09-24 39 views
16

Metin kutusuna 'txtSearch' yazdım. Soyadına göre insanları aramak için kullanıyorum. bu benim kodum. Bu kod, txtSearch metin kutusundaki metin girişi gibi XML'deki tüm son adları seçer.XPATH içinde OR kullanarak iki koşul

Bu, tüm büyük harfleri küçük harfe çevirir.

Eğer 'Dorosan' için arama yapıyorsam, 'doro' yazarsam, doğru kişiyi alır, çünkü 'D' ye 'd' çevirir. Ama ben 'Doro' yazdığımda, doğru kişiyi almaz.

Bir XPATH'de iki koşulun olup olmadığını merak ediyorum ve nasıl? Tüm büyük harfleri küçük harfe çevirebilir, VEYA küçük harfleri büyük harfe çevirebilirim.

cevap

19

and ve or durumun içine izin verilmektedir: [here]. Veya boru işaretini kullanarak bir XPath ifadesinde birden fazla yol da kullanabilirsiniz.

//PeopleList/Row[c1] | //PeopleList/Row[c2]

+1

.exist kullanarak ("xpath"):

Basitçe kullanmak destekledi. –

1

sadece bir "ya da" burada gerek yoktur. Sadece her iki işleneni yalnızca birinden çeviri yapmak yerine küçük harflere çevirmeniz gerekir.

1

Michael Kay tarafından belirtildiği gibi, or numaralı telefon numarası gereklidir. XQuery sözdizimi sendikası 'değildir: Hata XQuery [dvEd.EnrichmentData.exist()] gösterir -

Ms SQL Server için
PeopleList/Row 
    [contains(translate(@LastName, 
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
        'abcdefghijklmnopqrstuvwxyz'), '" 
+ 
      translate(txtSearch.value, 
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
        'abcdefghijklmnopqrstuvwxyz')'" 

+ "')]");