与えられた名前空間にある属性に基づいてフィルタリングするXPath式を作成する必要があります。 XMLの例:名前空間を持つ属性のXPathフィルタ
<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>
属性yt:nameが 'hqdefault'に設定されたノードのURLを取得する必要があります。
私は、XPath式
'./media:group/media:thumbnail[@yt:name='hqdefault']/@url'
と試みたが、YTと名前空間属性を指定するようだ:名前は動作しません。私は、クエリを作成すると空のDOMNodeListを取得します。
私はPHPでXMLにアクセスしていますので、私は登録YT名前空間:
registerNamespace('yt', 'http://gdata.youtube.com/schemas/2007');
のthnx事前
「動作しない」:
はここで完全な作業例です。エラーメッセージ? – LarsH