2012-01-04 30 views
5

Tôi đang thử điều này khi chọn nhiều nút qua htmlagilitypack nhưng không thành công. Cú pháp chính xác là gì? Vì vậy, những gì tôi đang cố gắng thu thập một nút và các nút li bên trong phần tử div đường dẫn. Cảm ơn bạn.Lựa chọn nút Xpath - cách chọn 2 thành phần khác nhau - htmlagilitypack

string srxPathOfCategory = "//div[@class='breadcrumbs']//li or //div[@class='breadcrumbs']//a"; 
var selectedNodes = myDoc.DocumentNode.SelectNodes(srxPathOfCategory); 

xpath, C#, HtmlAgilityPack

Giải pháp

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 
+1

xin vui lòng gửi mẫu html bạn đang cố gắng chọn. Các html chính xác, không phải cái gì bạn kéo ra khỏi đầu của bạn mà bạn nghĩ là "đủ gần." – x0n

+0

Thực ra nó không cần thiết. Nếu bạn đã có đủ kinh nghiệm với Xpath bạn sẽ biết những gì được sử dụng thay vì "hoặc" từ. Ngoài ra tôi đã tìm thấy thông báo đã chỉnh sửa giải pháp. – MonsterMMORPG

+1

@MonsterMMORPG: Đặt nó làm câu trả lời và đánh dấu nó như vậy :) –

Trả lời

11

Giải pháp là

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 

Vì vậy, cho "hoặc" bạn cần phải sử dụng "|"

+0

Tuyên bố này cũng coi OR là nút "bổ sung"? tức là nếu tôi muốn lấy tr [1]. [2] và tr [last()]. Tác phẩm '|', có cần một tham số khác không, hay tất cả chúng cần phải tách biệt. – Austin

+0

Câu trả lời tuyệt vời !!! –

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