我试图从一个软件生成的 XML 文件中提取几个属性,但我没有运气。
到目前为止我的代码看起来像这样;
$xml_feed_url = 'http://localhost/rest/getNowPlaying.view?u=USERNAMEt&p=PASSWORD&v=1.8.0&c=test';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($ch);
curl_close($ch);
echo $xml;
此代码成功输出以下 XML 文件;
<?xml version="1.0" encoding="UTF-8"?>
<subsonic-response xmlns="http://subsonic.org/restapi" status="ok" version="1.8.0">
<nowPlaying>
<entry id="1805" parent="1798" title="Too Close" album="The Lateness Of The Hour" artist="Alex Clare" isDir="false" coverArt="1798" created="2012-05-22T13:12:29" duration="256" bitRate="320" track="4" discNumber="1" year="2011" genre="Pop" size="10283678" suffix="mp3" contentType="audio/mpeg" isVideo="false" path="Alex Clare/The Lateness Of The Hour/Alex Clare - Too Close.mp3" albumId="50" artistId="14" type="music" username="RestClient" playerId="8" minutesAgo="0"/>
<entry id="33664" parent="33642" title="Hot Ride" album="Always Outnumbered, Never Out Gunned" artist="The Prodigy" isDir="false" coverArt="33642" created="2012-05-10T00:31:16" duration="276" bitRate="128" track="5" discNumber="1" year="2004" genre="Other" size="5135448" suffix="mp3" contentType="audio/mpeg" isVideo="false" path="The Prodigy/Always Outnumbered, Never Out Gunned/The Prodigy - Hot Ride.mp3" albumId="2064" artistId="635" type="music" username="Revenant" playerId="6" playerName="test" minutesAgo="3"/>
</nowPlaying>
</subsonic-response>
我能够使用 foreach 循环(如下)成功提取特定属性,但我希望从一个用户而不是全部提取特定的多个属性。
foreach($xml->children()->children() as $second_gen){
echo "User: ".$second_gen['username'];
echo "Artist: ".$second_gen['artist'];
echo "Title: ".$second_gen['title'];
echo "Album: ".$second_gen['album'];
任何想法,将不胜感激。谢谢。