केस-असंवेदनशील XPath include() फ़ंक्शन
XPath में, include() फ़ंक्शन केस-संवेदी है। हालाँकि, इस सीमा के आसपास काम करने के कई तरीके हैं। &&&]
/html/body//text()[ रोकना( अनुवाद(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'परीक्षा' ) ]यह सबस्ट्रिंग "टेस्ट" की जांच करने से पहले टेक्स्ट के सभी बड़े अक्षरों को लोअरकेस में बदल देता है।
विधि 2: डायनामिक XPath एक्सप्रेशन
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]जावास्क्रिप्ट जैसी स्क्रिप्टिंग भाषा का उपयोग करके, आप एक गतिशील XPath अभिव्यक्ति का निर्माण कर सकते हैं जो केस असंवेदनशीलता को संभालती है:
function xpathPrepare(xpath, searchString) { वापसी xpath.replace("$u", searchString.toUpperCase()) .replace('$l', searchString.toLowerCase()) .replace("$s", searchString.toLowerCase()); } xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");यह प्लेसहोल्डर को प्रतिस्थापित करता है खोज स्ट्रिंग के अपरकेस, लोअरकेस और लोअरकेस संस्करणों के साथ XPath अभिव्यक्ति में।
अतिरिक्त विचारfunction xpathPrepare(xpath, searchString) {
return xpath.replace("$u", searchString.toUpperCase())
.replace("$l", searchString.toLowerCase())
.replace("$s", searchString.toLowerCase());
}
xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");
दोनों विधियां मानती हैं कि वर्णमाला ज्ञात है।
यदि तत्व पाठ में एकल उद्धरण हो सकते हैं, तो XPath सिंटैक्स त्रुटियों को रोकने के लिए उनसे बचें।यदि विधि 2 का उपयोग कर रहे हैं, तो खोज स्ट्रिंग में एस्केप किए गए उद्धरणों को संभालें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3