Làm thế nào để viết một truy vấn XPath để khớp hai thuộc tính?


143

Câu hỏi sau:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">

Đưa ra ở trên,

Nếu tôi muốn một biểu thức XPath có kiểm tra cả id và class, chúng ta có thể thực hiện nó với điều kiện w / 'và' THÍCH:

//div[@id='id-74385'] and div[@class='guest clearfix']

Đây có phải là cách chính xác? Việc thực hiện của tôi thất bại ở đây ... Xin hãy giúp đỡ!

Câu trả lời:


210
//div[@id='..' and @class='...]

nên làm thủ thuật. Đó là chọn các divtoán tử có cả hai thuộc tính của giá trị bắt buộc.

Thật đáng để sử dụng một trong những thử nghiệm XPath trực tuyến để thử mọi thứ.



22

Thêm vào câu trả lời của Brian Agnew.

Bạn cũng có thể làm //div[@id='..' or @class='...]và bạn có thể có các biểu thức được ngoặc đơn bên trong //div[@id='..' and (@class='a' or @class='b')].


1

XML mẫu:

<X>
<Y ATTRIB1=attrib1_value ATTRIB2=attrib2_value/>
</X>

string xPath="/" + X + "/" + Y +
"[@" + ATTRIB1 + "='" + attrib1_value + "']" +
"[@" + ATTRIB2 + "='" + attrib2_value + "']"

XPath Testbed: http://www.whitebeam.org/l Library / guide / TechNotes / xpathtestbed.rhtm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.