1

我想现在是否有一些内置函数可以在执行 SELECT 查询后直接从 MYSQL 结果集创建 XML?

4

3 回答 3

3

我刚写了这个,然后想 id search 看看有没有其他人写过。它看起来比公认的答案教程更简单。我的 $results 来自 $result = mysql_query($query,$link);

$xmlDom = new DOMDocument();
$xmlDom->appendChild($xmlDom->createElement('results'));
$xmlRoot = $xmlDom->documentElement;

while ( $row = mysql_fetch_row($result) ) 
    {
      $xmlRowElementNode = $xmlDom->createElement('row');

      $i=0;
      for($i=0;$i<mysql_num_fields($result);$i++)
      {
          $xmlRowElement = $xmlDom->createElement(mysql_field_name($result,$i));
          $xmlText = $xmlDom->createTextNode($row[$i]);
            $xmlRowElement->appendChild($xmlText);

            $xmlRowElementNode->appendChild($xmlRowElement);
      }

      $xmlRoot->appendChild($xmlRowElementNode);
   }


    header('Content-type:  text/xml');
    echo $xmlDom->saveXML();

这将以以下形式生成 XML

<results>
    <row1>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row1>
    <row2>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row2>
    <row3...>
         <fieldname1>value</fieldname1>
         <fieldname2>value</fieldname2>
         <fieldname3>value</fieldname3>
         <fieldname4...>value</fieldname4...>
    </row3...>
</results>

对于任何 SELECT 查询。

于 2013-06-24T22:39:14.587 回答
2

没有内置函数可以在执行 SELECT 查询后直接从 MYSQL 结果集创建 XML。

你必须为此编写代码

一些不错的教程是这样的..

http://www.codediesel.com/php/converting-mysql-queries-to-xml/

http://www.mightywebdeveloper.com/coding/mysql-to-xml-php/

于 2012-09-25T05:37:33.937 回答
1

通常,您的 MySQL 结果将作为数组或对象返回,然后您可以将其转换为 XML 或其他格式。您可以使用 SimpleXML,此处已解释:如何将数组转换为 SimpleXML

于 2012-09-25T05:32:22.833 回答