我想现在是否有一些内置函数在执行SELECT查询后直接从MYSQL结果集创建XML?
答案 0 :(得分:3)
我刚刚写了这个,然后想到id搜索,看看是否有其他人写过它。它看起来比接受的答案教程简单。我的$ 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查询。
答案 1 :(得分:2)
在执行SELECT查询后,没有内置函数可以直接从MYSQL结果集创建XML。
您必须为此
编写代码一些很好的教程就是这个..
http://www.codediesel.com/php/converting-mysql-queries-to-xml/
答案 2 :(得分:1)
通常,您的MySQL结果将作为数组或对象返回,然后您可以将其转换为XML或其他格式。您可以使用SimpleXML,这里已经解释过:How to convert array to SimpleXML