2012-04-07 34 views

Trả lời

57

Làm thế nào tôi có thể tìm kiếm một k anh chị em đầu tiên sau khi m nút? Về cơ bản, hãy tìm một số nút và sau đó tiếp tục tìm kiếm từ nút đó.

Giả sử rằng chúng ta có tài liệu sau đây được hình thành XML:

<t> 
    <n></n> 
    <k></k> 
    <m></m> 
    <k></k> 
</t> 

thì biểu thức XPath sau:

/*/m[1]/following-sibling::k[1] 

chọn k sau-sibling đầu tiên của đầu tiên m con của phần tử trên cùng của tài liệu XML.

+0

Quá phức tạp. –

+0

Thực ra, hôm qua tôi muốn bỏ phiếu bỏ phiếu của tôi, nhưng trang web nói với tôi rằng sau 24 phút đã quá muộn. Đó là cuộc sống. –

4

đẹp câu hỏi: dùng thử ........

<a> 
<n></n> 
<k></k> 
<m></m> 
<k></k> <==== 
<k></k> 
<m></m> 
<k></k> 
</a> 


    /a/k[. = preceding::m][1] 
+0

Câu trả lời này rất thú vị, nhưng nó bắt đầu từ ** chữ "m" đầu tiên có dấu "k" sau **, không phải từ ** nút hiện tại **. –

+0

Ngoài ra, đó là 'trước :: m' bit một tham chiếu trở lại? Điều đó sẽ không ít hiệu quả hơn là một giải pháp tìm kiếm 'm' trước? (Không biết) – jpaugh

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