我想现在是否有一些内置函数可以在执行 SELECT 查询后直接从 MYSQL 结果集创建 XML?
问问题
22297 次
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/
于 2012-09-25T05:37:33.937 回答
1
通常,您的 MySQL 结果将作为数组或对象返回,然后您可以将其转换为 XML 或其他格式。您可以使用 SimpleXML,此处已解释:如何将数组转换为 SimpleXML
于 2012-09-25T05:32:22.833 回答