ฉันต้องการเขียนบางอย่างของการเรียงลำดับ:
//a[not contains(@id, 'xx')]
(หมายถึงลิงก์ทั้งหมดที่มีแอตทริบิวต์ 'id' ไม่มีสตริง 'xx')
ฉันไม่พบไวยากรณ์ที่ถูกต้อง
ฉันต้องการเขียนบางอย่างของการเรียงลำดับ:
//a[not contains(@id, 'xx')]
(หมายถึงลิงก์ทั้งหมดที่มีแอตทริบิวต์ 'id' ไม่มีสตริง 'xx')
ฉันไม่พบไวยากรณ์ที่ถูกต้อง
คำตอบ:
ไม่ () เป็นฟังก์ชันใน xpath (ตรงข้ามกับตัวดำเนินการ) ดังนั้น
//a[not(contains(@id, 'xx'))]
คุณสามารถใช้not(expression)
ฟังก์ชั่น
หรือ
expression != true()
ไม่มีคำตอบเหล่านี้สำหรับฉันสำหรับงูหลาม ฉันแก้ไขโดยสิ่งนี้
a[not(@id='XX')]
นอกจากนี้คุณสามารถใช้หรือเงื่อนไขใน xpath ของคุณโดย|
ผู้ประกอบการ เช่น
a[not(@id='XX')]|a[not(@class='YY')]
บางครั้งเราต้องการองค์ประกอบที่ไม่มีชั้นเรียน ดังนั้นคุณสามารถทำเช่นนั้น
a[not(@class)]
ใช้boolean function
เหมือนด้านล่าง:
//a[(contains(@id, 'xx'))=false]