PHP PHP不输出XML文件 即使所有代码看起来都是正确的,您能发现错误吗?



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 />';
}

经过测试,它可以工作。

最新更新