1

シンプルなxmlリーダーを使用して、そのファイルからxmlノードの属性を読み取ろうとしています

<songs>
<song title="On Mercury" artist="Red Hot Chili Peppers" path="/red-hot-chili-peppers/on-mercury.mp3" />
<song title="Universally Speaking" artist="Red Hot Chili Peppers" path="/red-hot-chili-peppers/universally-speaking.mp3" />
</songs>

私はそれを読むためにそのコードを使用しましたが、それは私にxml解析エラーを与えました

<?php
$xml = simplexml_load_file("playlist.xml") 
       or die("Error: Cannot create object");

foreach($xml->children() as $data){
      echo $data->song['title'];
      echo "<br />";

}

?>

私を助けてください

4

1 に答える 1

0

->children()との両方を呼び出す必要はありません->song。1つ目は、タグ名に関係なく特定のノードのすべての子を提供し、2つ目は、タグ名が「song」の特定のノードのすべての子を提供します。

試す:

foreach($xml->song as $song){
    echo $song['title'];
    echo "<br />";
}

これは次と同等です:

foreach($xml->children() as $data) {
    if ( $data->getName() == 'song' ) {
        echo $data['title'];
        echo "<br />";
    }
}
于 2012-09-17T16:06:37.647 に答える