2012-08-28 43 views
19

Tôi có xpath đơn giảnXPath chứa một trong nhiều giá trị

/products/product[contains(categorie,'Kinderwagens')] 

Nó hoạt động nhưng bây giờ làm thế nào để lọc trên nhiều mục đánh giá cao

như

/products/product[contains(categorie,'Kinderwagens')] + 
/products/product[contains(categorie,'Kinderwagens')] 

Trả lời

28

Sẽ làm việc này?

/products/product[contains(categorie,'Kinderwagens') or contains(categorie,'Wonderwagens')] 

Có một câu hỏi tương tự here

+0

Câu hỏi là về OR, phải không? –

+0

@imz đã chỉnh sửa câu trả lời của tôi cho OR, xem liệu điều này có hiệu quả không. Cảm ơn. – Curious

+0

Lưu ý về bản thân. Cập nhật câu trả lời với 5 năm tiến bộ XPath. –

6

Bạn có thực sự muốn chứa()? Rất thường xuyên, mọi người sử dụng contains() để kiểm tra xem một nút có chứa một giá trị khi họ nên sử dụng "=" hay không. Sự khác biệt là nếu phần tử categorie có giá trị chuỗi 'Kinderwagens', thì categorie = 'wagens' là sai nhưng contains(categorie, 'wagens') là đúng.

Nếu bạn thực sự có ý định '=', thì trong XPath 2.0 bạn có thể viết [categorie = ('Kinderwagens', 'Wonderwagens')]. Nếu bạn vẫn đang sử dụng XPath 1.0, bạn cần hai so sánh riêng biệt với một 'hoặc'.

+0

Đã gửi [câu hỏi mới] (https://stackoverflow.com/q/46503195/712334) để sử dụng với các giá trị thuộc tính. –

Các vấn đề liên quan