php xml - php 不输出 xml 文件 即使所有代码看起来都是正确的,你能发现错误吗?
您好,我正在练习XML,我可以通过php输出它。这是我希望从中输出xml文件的php代码:
<?php
$xml_file = 'MusicMix.xml';
//load the content of the XML file and create a new XML object
$xml = simplexml_load_file($xml_file);
foreach ($xml->musicmix as $musicmix) {
echo $musicmix->playlist_id, ' - ';
echo $musicmix->name, '<br />';
echo $musicmix->category, '<br />';
echo $musicmix->song_id, '<br />';
echo $musicmix->songname, '<br />';
}
?>
This is the XML code:
<?xml version="1.0" encoding="UTF-8"?>
<musicmix>
<playlist_id>W12345</playlist_id>
<name>GymOne</name>
<category>Rock</category>
<song_id>123455</song_id>
<songname>rockthisone</songname>
<song_id>454545</song_id>
<songname>rocksomemore</songname>
<playlist_id>W34567</playlist_id>
<name>SleepOne</name>
<category>
Classical
</category>
<song_id>144455</song_id>
<songname>niceone</songname>
<song_id>444445</song_id>
<songname>nicerone</songname>
</musicmix>
感谢您的帮助。问题是我从错误的变量调用了 php,所以我将代码指向了错误的方向:这是正确的代码,我将 foreach 循环中的"musicmix"更改为播放列表和所有其他变量,它现在正在工作:
<?php
$xml_file = 'MusicMix.xml';
//load the content of the XML file and create a new XML object
$xml = simplexml_load_file($xml_file);
foreach ($xml->playlist as $playlist) {
echo $playlist->playlist_id, ' - ';
echo $playlist->name, '<br />';
echo $playlist->category, '<br />';
echo $playlist->song_id, '<br />';
echo $playlist->songname, '<br />';
}
?>
似乎你应该有一个这样的xml结构:
<?xml version="1.0" encoding="UTF-8"?>
<collection>
<musicmix>
<playlist_id>W12345</playlist_id>
<name>GymOne</name>
<category>Rock</category>
<song_id>123455</song_id>
<songname>rockthisone</songname>
<song_id>454545</song_id>
<songname>rocksomemore</songname>
</musicmix>
<musicmix>
<playlist_id>W34567</playlist_id>
<name>SleepOne</name>
<category>
Classical
</category>
<song_id>144455</song_id>
<songname>niceone</songname>
<song_id>444445</song_id>
<songname>nicerone</songname>
</musicmix>
</collection>
然后,您可以像已经一样读取其数据:
$xml = simplexml_load_file($xml_file);
foreach ($xml->musicmix as $musicmix) {
echo $musicmix->playlist_id, ' - ';
echo $musicmix->name, '<br />';
echo $musicmix->category, '<br />';
echo $musicmix->song_id, '<br />';
echo $musicmix->songname, '<br />';
}
经过测试,它可以工作。