2010-04-26 32 views
5

Nếu bạn có xml dưới đây trong $ (xml), bạn sẽ nhận được xệ sử dụng:jQuery - xpath tìm thấy?

$(xml).find("animal").find("dog").find("beagle").text() 

Có một cách tương đương trong jQuery để sử dụng xpath như

$(xml).xpathfind("/animal/dog/beagle").text()? 

<animal> 
    <dog> 
     <beagle> 
      droopy 
     </beagle> 
     ... 

Trả lời

5

jQuery sử dụng để hỗ trợ rất XPath cơ bản, bao gồm ví dụ bạn đã cung cấp.

$(xml).find("animal/dog/beagle") 

EDIT: Bạn nói đúng, họ đã xóa nó khỏi lõi, vì vậy bạn phải sử dụng "khả năng tương thích" plugin.

EDIT: Cập nhật liên kết đến xpath Plugin XPath Plugin

+1

Tôi đã thử nó, nhưng nó không hoạt động. Cú pháp chọn CSS, "animal> dog> beagle" đã làm. Tôi đã thử "/ a/d/b", "// a/d/b". Tôi có phải bao gồm một plugin không? – Steve

+0

Tôi nghĩ rằng nó đã làm với các dấu gạch chéo hàng đầu. Hãy thử "a/d/b" thay vì "/ a/d/b" –

+0

Vâng, tôi đã thử một plugin xpath cũ từ Resig, nhưng nhìn vào nguồn, nó đã được bảo hiểm tối thiểu của xpath. Ồ, bộ chọn CSS sẽ làm. Chỉ muốn chắc chắn rằng nếu xpath là một phần của jQuery mới nhất. – Steve

4

jQuery hỗ trợ XPath cơ bản trên thực tế, vì vậy bạn chỉ có thể sử dụng find.

Hoặc, sử dụng cú pháp bộ chọn CSS. Ví dụ cụ thể của bạn, bạn sẽ sử dụng $(xml).find("animal > dog > beagle").text()

+0

Và để nhận giá trị thuộc tính, bạn có thể sử dụng '$ (xml) .find (" element "). Attr (" attribute ")' – sree

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