我使用file_get_contents函数获取xml,然后使用它创建一个SimpleXMLElement。
可以在此处看到xml文件:http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Nirvana&api_key=0ca5b0824b7973303c361510e7dbfced
问题是我需要获取lfm-> artist-> image [@ size ='small']的值,我找不到如何操作。
答案 0 :(得分:1)
您应该使用DOMXPath:http://php.net/manual/en/class.domxpath.php
此XPath查询适用于您的XML:
\\lfm\artist\image[@size='small']
如下:
$doc = new DOMDocument();
$doc->loadXML($url);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("\\lfm\artist\image[@size='small']");
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>[". $element->nodeName. "]";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}