-1

PHP を使用して XML ファイルから XML を作成したいのですが、うまくいきません。

XML ファイル

<?xml version="1.0">
<streams>
  <stream>test</stream>
</streams>

PHP

<?php
  header("Content-type: text/xml");
  $xml = simplexml_load_file("t.xml");

  $html = "<?xml version='1.0'>";
  $html = $html . "<streams>";
  foreach($xml->stream as $stream) 
  {
    $html= $html . "<stream>";
    $html = $html . "<![CDATA[" . $stream->title . "]]>";
    $html= $html . "</stream>";
  }
  $html = $html . "</streams>";

  echo $html; 
?>

エラー

Error: This page contains the following errors: error on line 2 at column 1: 
Extra content at the end of the document Below is a rendering of the page up
to the first error.
4

3 に答える 3

2

文字列からではなく、 php simplexmlを使用してxmlを構築します

$xml = new SimpleXMLElement('<xml/>');
$streams = $xml->addChild('streams');
$steams->addChild('stream', 'data');
echo $xml->asXML();

ヒントとして、文字列を連結するための省略形があります。

$html = "<?xml version='1.0'?>";
$html .= "<streams>"; 
...
于 2012-12-27T09:22:37.563 に答える
1

まず第一に、xml が壊れています。次のようにする必要があります。

<?xml version="1.0"?>
-------------------^

(疑問符がありません。PHP スクリプト内にもありません)

その場合:内部にタイトル要素はありません<stream/>

この xml で期待どおりに動作します。

<?xml version="1.0"?>
<streams>
  <stream><title>test</title></stream>
</streams>
于 2012-12-27T09:28:43.270 に答える