Php 从mysql到xml获取值

Php 从mysql到xml获取值,php,mysql,xml,mysqli,Php,Mysql,Xml,Mysqli,我遇到了一个问题,需要尽快解决。 我有一个php代码,它可以从xml文件中获取值,但我不能用数据库生成动态xml。我的PHP版本是5.2,我的xml解析代码是: <?php include("system/connect.php"); $q = mysqli_query($link, "select * from elements"); $xml = new XMLWriter(); $xml->openURI("php://output"); $xml->startDocum

我遇到了一个问题,需要尽快解决。 我有一个php代码,它可以从xml文件中获取值,但我不能用数据库生成动态xml。我的PHP版本是5.2,我的xml解析代码是:

<?php
include("system/connect.php");
$q = mysqli_query($link, "select * from elements");
$xml = new XMLWriter();
$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);
$xml->startElement('link');

while(null !== ($row = mysqli_fetch_assoc($q))) {
   $xml->startElement("title");
   $xml->writeRaw($row['name']);
   $xml->endElement();

   $xml->startElement("id");
   $xml->writeRaw($row['id']);
   $xml->endElement();

   $xml->startElement("img");
   $xml->writeRaw("images/elements/".$row['name'].".jpg");
   $xml->endElement();


} 
$xml->endElement();
header('Content-type: text/xml');
$xml->flush();
?>

我到底想要什么?我想将化学元素从数据库解析为xml,比如

 <pages>
   <link>
     <title>Hydrogen</title>
     <id>1</id>
     <img>images/elements/Hydrogen.jpg</img>
  </link>
</pages>

氢
1.
图片/元素/Hydrogen.jpg
现在输出显示:

$xml->startElement('link')
应该位于循环内部,以及
$xml->endElement()


您还需要添加
$xml->startElement('pages')外部(与相应的
endElement

使用XMLWriter的荣誉!:)问题是没有标签,只有值什么?有标签!查看链接上的源代码。您还可以添加
标题('Content-type:application/xml;charset=utf-8')
告诉浏览器它不是html