Tôi cần tạo biểu thức XPath để lọc dựa trên thuộc tính có trong không gian tên đã cho. Ví dụ XML là:Lọc XPath trên thuộc tính với không gian tên
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/'
xmlns:yt='http://gdata.youtube.com/schemas/2007'> ...
<entry>
<media:group>
<media:thumbnail url='http://i.ytimg.com/1.jpg' yt:name='default'/>
<media:thumbnail url='http://i.ytimg.com/2.jpg' yt:name='hqdefault'/>
<media:thumbnail url='http://i.ytimg.com/3.jpg' yt:name='start'/>
<media:thumbnail url='http://i.ytimg.com/4.jpg' yt:name='middle'/>
</media:group>
</entry>
Và tôi cần nhận url của thuộc tính với tên thuộc tính yt: đặt thành 'hqdefault'.
Tôi đã thử với XPath biểu
'./media:group/media:thumbnail[@yt:name='hqdefault']/@url'
nhưng có vẻ như xác định namespaced thuộc tính với yt: Tên không hoạt động. Tôi nhận được một DOMNodeList rỗng khi thực hiện một truy vấn.
tôi truy cập vào XML trong php, vì vậy tôi đã đăng ký yt namespace:
registerNamespace('yt', 'http://gdata.youtube.com/schemas/2007');
Thnx trước
"không hoạt động" - bạn cần phải nói những gì xảy ra. Một thông báo lỗi? – LarsH