我正在尝试使用 php 将 mysql db 中的数据导出为特定的 xml 格式。
我创造了这样的。
如果我这样做,我会在 xml 中得到正确的 $string 输出。
<?php
$string = <<<_XML_
<videos>
<updated>2010-07-20T00:00:00Z</updated>
<video>
<id>id</id>
<title>title</title>
<description>description</description>
<tags>Comma,Separated,Keywords,Go,Here</tags>
<paysite>Name Of site</paysite>
<clip_url>http://www.domain.com/path/to/videos/</clip_url>
<screen_url>http://www.domain.com/path/to/thumbnails/</screen_url>
<clips>
<clip>
<duration>20</duration>
<width>640</width>
<height>480</height>
<flv>marta_123.flv</flv>
<screens>
<screen>marta.jpg</screen>
</screens>
</clip>
<clip>
<duration>20</duration>
<width>640</width>
<height>480</height>
<flv>jenna_123.flv</flv>
<screens>
<screen>jenna.jpg</screen>
</screens>
</clip>
<clip>
<duration>123</duration>
<width>640</width>
<height>480</height>
<flv>kathy_123.flv</flv>
<screens>
<screen>kathy.jpg</screen>
</screens>
</clip>
</clips>
</video>
</videos>
_XML_;
$xml = new SimpleXMLElement($string);
Header('Content-type: text/xml');
echo $xml->asXML();
?>
但是如果我尝试从 db 中提取值并将其放入相同的层次结构中,它不会在 xml 中输出数据。像这样
<?php
$dbh=mysql_connect($localhost, $username, $password) or die ('I cannot connect to the database because: ' . mysql_error());
$result = mysql_query("SELECT * FROM 12345_flv.flv WHERE enabled = '1' ORDER BY id DESC") or die('Could not connect: ' . mysql_error());
$string = '<<<_XML_<videos><updated>2010-07-20T00:00:00Z</updated><video>';
while ($row = mysql_fetch_array($result)) {
$id=$row['id'];
$title=$row['title'];
$string .='<id>'.$id.'</id>';
$string .='<title>'.$title.'</title>';
}
$string .='</video></videos>_XML_';
$xml = new SimpleXMLElement($string);
Header('Content-type: text/xml');
echo $xml->asXML();
?>
它的输出在页面源中显示 <<< XML 。
我做错了什么。我想要的只是使用 php 将数据从 mysql 导出到 xml。
谢谢你的时间