Tôi muốn sử dụng "không" trong XPath đúng cách. Tôi dường như không thể làm cho nó hoạt động với các thuộc tính.Sử dụng not() trong XPath
Giả sử tôi có biểu thức này: //*[@name = 'Bob']
Nó hợp lệ và sẽ trả về tất cả các nút có thuộc tính tên bằng 'Bob'.
Bây giờ nếu tôi muốn tất cả các nút có thuộc tính tên không bằng 'Bob', tôi cần sử dụng XPath như: //*[@name not(='Bob')]
nhưng điều này không hợp lệ.
Tôi đã thử nhiều kết hợp với không() được đặt theo thứ tự khác, nhưng dường như tôi không thể làm việc này. Ai đó có thể vui lòng thông báo cho tôi cách sử dụng không() đúng cách không?
Ngoài ra, đơn đặt hàng có thay đổi khi sử dụng các phần tử thay vì thuộc tính không? Chẳng hạn như: //name[text() = 'Bob']
Cảm ơn! :)
@mathieu: Tôi sẽ tốt hơn để trích dẫn các thông số kỹ thuật (không phải tài liệu MS), từ http: // www.w3.org/TR/xpath/#booleans * "Nếu một đối tượng được so sánh là tập hợp nút và nút kia là một chuỗi, thì phép so sánh sẽ đúng nếu và chỉ khi có nút trong nút- thiết lập sao cho kết quả thực hiện so sánh trên chuỗi giá trị của nút và chuỗi kia là true "* –
@mathieu: Phương thức này làm việc cho các giá trị số nhưng không cho giá trị chuỗi. // * [@ numerical! = 1] hoạt động. // * [@ string! = "someString"] thì không. Chỉ có phần tử gốc đang được trả về! – developer
@iHeartGreek: Bạn đã thử cái này chưa? Điều này là chính xác, bên cạnh các quot từ MS ... –