0

SimpleXMLElementを使用してxmlファイルを生成しています。

名前名が原因でファイルのフォーマットに問題があります。誰かが助けてくれることを願っています。(データの取得に問題はありません...-> addChild、-> addAttributeなどをいつ使用するかわからないだけです)

別のアプリケーション(JW Player)がファイルから読み取るため、このファイルはこの正確な構造である必要があります。

//xml structure
<?xml version="1.0"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/trac/" >
<channel>
<title>MRSS Playlist Playlist</title>
...
<item>
<title>Cardio routine with handweights</title>
<media:content url="videos/set2_first_5min.flv" />
<media:thumbnail url="thumbs/set2_first.png" />
<description>side jumps, arm curls, leg squats, arm lifts</description>
<jwplayer:duration>300</jwplayer:duration> 
<jwplayer:start>5</jwplayer:start> 
</item>
...
</channel>
</rss>
//export xml file
$xml->asXML("devplaylist.xml");

どんな助けでもいただければ幸いです。ありがとう、DK

4

1 に答える 1

0

これを試して:

<?php
$xml = simplexml_load_string( '<?xml version="1.0"?><rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/trac/"></rss>' );
$channel = $xml->addChild( 'channel' );

$channel->addChild( 'title', 'TITLE_HERE' );
$channel->addChild( 'link', 'LINK_HERE' );
$channel->addChild( 'description', 'DESCRIPTION_HERE' );
$channel->addChild( 'language', 'LANGUAGE_HERE' );
$channel->addChild( 'copyright', 'COPYRIGHT_HERE' );
// rest of your nodes

$i=0;
while( ++$i < 2 ) { // will run only once, only for demo purpose...
    $item = $channel->addChild( 'item' );

    $item->addChild( 'title', 'Cardio routine with handweights' );
    $mediaContent = $item->addChild( 'content', '', 'http://search.yahoo.com/mrss/' );
    $mediaContent->addAttribute( 'url', 'videos/set2_first_5min.flv' );
    $mediaThumbnail = $item->addChild( 'thumbnail', '', 'http://search.yahoo.com/mrss/' );
    $mediaThumbnail->addAttribute( 'url', 'thumbs/set2_first.png' );
    $item->addChild( 'description', 'side jumps, arm curls, leg squats, arm lifts' );
    $item->addChild( 'duration', 300, 'http://developer.longtailvideo.com/trac/' );
    $item->addChild( 'start', 5, 'http://developer.longtailvideo.com/trac/' );
}

//export xml file
$xml->asXML("devplaylist.xml");
?>

それが役に立てば幸い。

于 2012-04-05T13:55:57.417 に答える