我用的是JW播放器加载XML播放列表。它工作正常,当我手动编写XML文件,而不是当我使用PHP的解析......
我希望它看起来是这样的:
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/trac/">
<channel>
<item>
<title>Albert</title>
<media:content url="../movies/hi.mp4" />
<description></description>
<jwplayer:duration>10</jwplayer:duration>
</item>
</channel>
</rss>
第一个问题是<rss version="2.0" ...
它迫使标题是:<?xml version="1.0"?>
第二个问题是如何打印出与PHP的<media:content url="" ...
?
第三个问题是如何添加结束RSS </rss>
我的代码是:
<?php
$channel = array();
$channel [] = array(
'title' => 'Albert',
'content' => 'filmer/c1.jpg',
'duration' => "10"
);
$channel [] = array(
'title' => 'Claud',
'content' => 'filmer/c2.jpg',
'duration' => "10"
);
$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement( "channel" );
$doc->appendChild( $r );
foreach( $channel as $item )
{
$b = $doc->createElement( "item" );
$title = $doc->createElement( "title" );
$title->appendChild(
$doc->createTextNode( $item['title'] )
);
$b->appendChild( $title );
$content = $doc->createElement( "media:content" );
$content->appendChild(
$doc->createTextNode( $item['content'] )
);
$b->appendChild( $content );
$duration = $doc->createElement( "jwplayer:duration" );
$duration->appendChild(
$doc->createTextNode( $item['duration'] )
);
$b->appendChild( $duration );
$r->appendChild( $b );
}
echo $doc->saveHTML();
$doc->save("write.xml")
?>
有任何想法吗?我在PHP / XML新手,抱歉:/
这条线:<?xml version="1.0"?>
被称为XML Declaration,它是可选的。因此,该行是否存在与否不应该使任何差异,只要你用有效的XML引起任何问题。
由于RSS是基于XML的,你不必担心线在那里。
我希望这个澄清你的问题的这部分。
而作为Q&A通常与每一个问题的效果最好,这里有另外两张:
因此,有必要把一个报头中的PHP代码之前在XML通知jwplayer真实加载什么。
header("Content-type: text/xml");