Two conditions using OR in XPATH
Solution 1
and
and or
are allowed inside the condition: [here]
. Or you may also use multiple paths in one XPath expression using the pipe sign.
//PeopleList/Row[c1] | //PeopleList/Row[c2]
Solution 2
you can use or
/ and
inside [....]
Example:
//*[contains('abc') or contains('def') or text()='abcdef']
More info about operators: http://www.w3schools.com/xpath/xpath_operators.asp
Solution 3
I don't think you need an "or" here. You just need to translate both operands to lower-case, rather than only translating one of them.
Solution 4
As noted by Michael Kay, no or
is necessary.
Simply use:
PeopleList/Row
[contains(translate(@LastName,
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'abcdefghijklmnopqrstuvwxyz'), '"
+
translate(txtSearch.value,
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'abcdefghijklmnopqrstuvwxyz')'"
+ "')]");
edsamiracle
Updated on September 25, 2020Comments
-
edsamiracle over 3 years
I have a textbox, 'txtSearch'. I am using it to search people by Last Name. this is my code.
var xmlTempResultSearch = xmlResidentListDisplay.selectNodes( "//PeopleList/Row[contains(translate(@LastName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '" + txtSearch.value + "')]");
This code selects all last names in the XML like the text input in the txtSearch textbox.
This translates all uppercase letters to lowercase letters.
So if I am searching for 'Dorosan', if I type 'doro', it retrieves the correct person because it translated the 'D' to 'd'. But when I type 'Doro', it doesn't retrieve the correct person.
I'm wondering if I can have two conditions in an XPATH, and how? I want to be able to translate all uppercase to lowercase, OR translate all lowercase to uppercase.
-
Philipp Munin almost 8 yearsfor Ms SQL Server using .exist("xpath") - it shows error XQuery [dvEd.EnrichmentData.exist()]: The XQuery syntax 'union' is not supported.