Php 输出带有名称空间的xml文件

Php 输出带有名称空间的xml文件,php,xml,Php,Xml,我正在使用SimpleXMLElement生成一个xml文件 由于名称空间的原因,我在格式化文件时遇到了一些困难。 希望有人能帮忙。 (获取数据没有问题…只是不确定何时使用->addChild、->addAttribute和其他任何东西) 此文件需要采用这种精确的结构,因为另一个应用程序(JW Player)将从中读取: //xml structure <?xml version="1.0"?> <rss version="2.0" xmlns:media="http://se

我正在使用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");
//xml结构
MRSS播放列表
...
有氧运动常规,带手轮
侧跳、手臂卷曲、腿部下蹲、手臂抬起
300
5.
...
//导出xml文件
$xml->asXML(“devplaylist.xml”);
任何帮助都将不胜感激。 谢谢 DK

试试这个:

<?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");
?>
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');
//其余节点
$i=0;
虽然(+++$i<2){//将只运行一次,但仅用于演示目的。。。
$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 curl,leg蹲下,arm lifts');
$item->addChild('duration',300,'http://developer.longtailvideo.com/trac/' );
$item->addChild('start',5,'http://developer.longtailvideo.com/trac/' );
}
//导出xml文件
$xml->asXML(“devplaylist.xml”);
?>
希望能有帮助