PHP编写XML文件(JW播放器)

问题描述 投票:1回答:2

我用的是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新手,抱歉:/

php xml xml-parsing jwplayer
2个回答
1
投票

这条线:<?xml version="1.0"?>被称为XML Declaration,它是可选的。因此,该行是否存在与否不应该使任何差异,只要你用有效的XML引起任何问题。

由于RSS是基于XML的,你不必担心线在那里。

我希望这个澄清你的问题的这部分。

而作为Q&A通常与每一个问题的效果最好,这里有另外两张:


0
投票

因此,有必要把一个报头中的PHP代码之前在XML通知jwplayer真实加载什么。

  header("Content-type: text/xml");
© www.soinside.com 2019 - 2024. All rights reserved.