يحتوي XPath غير الحساس لحالة الأحرف على وظيفة ()
في XPath، تكون الوظيفة التي تحتوي على () حساسة لحالة الأحرف. ومع ذلك، هناك طرق للتغلب على هذا القيد.
الطريقة الأولى: ترجمة الأحرف
تتضمن هذه الطريقة ترجمة الأحرف إلى أحرف صغيرة أو كبيرة قبل التحقق من السلسلة الفرعية:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
يؤدي ذلك إلى تحويل كافة الأحرف الكبيرة في النص إلى أحرف صغيرة قبل التحقق من وجود السلسلة الفرعية "اختبار."
الطريقة الثانية: تعبير XPath الديناميكي
باستخدام لغة برمجة نصية مثل JavaScript، يمكنك إنشاء تعبير 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 مع الإصدارات الكبيرة والصغيرة والصغيرة من سلسلة البحث.
اعتبارات إضافية
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3