2010-03-09 30 views
58

My mẫu đầu vào XML là:Nhận con thứ N của một node sử dụng xpath

<root> 
<a> 
    <b>item</b> 
    <b>item1</b> 
    <b>item2</b> 
    <b>item3</b> 
    <b>item4</b> 
</a> 
</root> 

tôi giả sử để chọn một nút b có vị trí là giá trị của một biến.

Cách sử dụng giá trị của biến để kiểm tra vị trí của nút?

Trả lời

74

bạn có thể sử dụng này:

/root/a/b[position()=$variable] 

vị trí() là 1 dựa

http://saxon.sourceforge.net/saxon6.5.3/expressions.html

+7

Hãy nhớ rằng nó không được lập chỉ mục 0. Tôi chỉ mất 2 giờ để lãng phí thời gian để tìm kiếm thứ gì đó ở vị trí 0. –

36

Sau đây nên làm việc:

/root/a/b[2] 

Và nếu không, thử:

/root/a/b[position()=2] 
+1

Tôi đến đây để tìm sự khác biệt giữa hai điều này, bạn có thể giải thích cách chúng khác nhau không? – Andre

+4

'position()' dùng để chỉ vị trí trong dom [2] là kết quả thứ hai trong danh sách kết quả. –

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