简体   繁体   中英

PHP: XPath query returns nothing from large XML

$newstring = substr_replace("http://ws.spotify.com/search/1/track?q=", $_COOKIE["word"], 39, 0);
/*$curl = curl_init($newstring);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);*/
//echo $result;


$xml = simplexml_load_file($newstring);
//print_r($xml);
$xpath = new DOMXPath($xml);

$value = $xpath->query("//track/@href");

foreach ($value as $e) {
  echo $e->nodevalue;
}

This is my code. I am using spotify to supply me with an xml document. I am then trying to get the href link from all of the track tags so I can use it. Right now the print_r($xml) I have commented out works, but if I try to query and print that out it returns nothing. The exact link I am trying to get my xml from is: http://ws.spotify.com/search/1/track?q=incredible

This maybe is not the answer you need, because I dropped the DOMXPath , I'm using getElementsByTagName() instead.

$url = "http://ws.spotify.com/search/1/track?q=incredible";

$xml = file_get_contents( $url );
$domDocument = new DOMDocument();
$domDocument->loadXML( $xml );

$value = $domDocument->getElementsByTagName( "track" );
foreach ( $value as $e ) {
    echo $e->getAttribute( "href" )."<br>";
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM