我有一个返回XML字符串的SQL查询。有用。但是,我刚刚转移到一个Windows php服务器(从Linux一个),我不能再从数据库中获取xml字符串。它只是一个大字符串(不是xml格式),因此我无法解析所有数据。
$query = "SELECT s FROM returnXML('id') FOR XML AUTO, TYPE;";
$stmt = sqlsrv_query($conn, $query);
if(sqlsrv_fetch($stmt) !== false) {
$xml = sqlsrv_get_field($stmt, 0);
echo stream_get_contents($xml);
var_dump($xml);
}
任何帮助将不胜感激。用当前的代码。它打印数据(所有划掉的数据虽然......),然后是'资源(5)类型(流)'
谢谢!
答案 0 :(得分:0)
用
替换代码if (sqlsrv_fetch($stmt) !== false) {
$xml_res = sqlsrv_get_field($stmt, 0);
$xml_string = stream_get_contents($xml_res);
$xml = simplexml_load_string($xml_string);
}
$xml
现在是一个php变量,其中的xml数据为SimpleXMLElement类型。