2013-03-11 47 views
0

我沒有找到一種方法來檢索所有具有屬性ec:edit的元素。我只找到了獲取命名空間元素的例子,但沒有找到屬性。QueryPath查找具有命名空間屬性的元素

當用attr()hasAttr()搜索屬性時也沒有結果。

DBpedia的例子:

foreach ($qp->branch()->find('foaf|page') as $img) { 
    print $img->attr('rdf:resource') . PHP_EOL; 
} 

RDF文件樣本:

<dbpprop:artist rdf:resource="http://dbpedia.org/resource/The_Beatles" /> 

但是,這將檢索不到任何結果:

$edits = $htmldocument->find('div[mc|edit]; 
foreach ($edits as $key => $value) { 
    echo $value->attr('mc:edit'); 
} 

樣本數據:

<div mc:edit="stuff"> // etc 

我什麼也沒得到。

回答

1

好吧,lambda表達式解決一切問題:

find('div')->filterLambda('return qp($item)->hasAttr("mc:edit");'); 
+0

能請你也幫我獲得此類型的QueryPath元素? 例如: 我也對此提出了問題。請參閱http://stackoverflow.com/questions/28707105/how-to-fetch-custom-or-namespaced-elements-in-querypath。 我會感謝你如果你能幫助我。 謝謝。 – 2015-02-24 21:57:12

相關問題