0

我正在尝试遍历我的 MySQL 数据并为我的 XML 清理它,但我正在尝试以最有效的方式进行操作。以下是我到目前为止的代码。如果可能的话,如果相同的循环,这段代码只清理一个CompanyName我想清理所有 8 个字段的字段。

header("Content-type: text/xml");
$SQL_query = "SELECT * FROM COMPANYINFO ORDER BY CompanyName DESC"; 
$resultID = mysql_query($SQL_query, $linkID) or die("Data not found."); 

$xml_output = "<?xml version=\"1.0\"?>\n"; 
$xml_output .= "<markers>\n"; w

for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){ 
    $row = mysql_fetch_assoc($resultID); 

            // Escaping illegal characters 
        $row['CompanyName'] = str_replace("&", "&", $row['CompanyName']); 
        $row['CompanyName'] = str_replace("<", "<", $row['CompanyName']); 
        $row['CompanyName'] = str_replace(">", "&gt;", $row['CompanyName']); 
        $row['CompanyName'] = str_replace("\"", "&quot;", $row['CompanyName']); 

    $xml_output .= "\t\t<marker name='.$row['CompanyName']."' address='".$row['Address_1']."' phone='".$row['Phone']."' lat='".$row['Lat_Info']."' lng='".$row['Long_Info']."' county='".$row['County']."'/>\n";
} 

$xml_output .= "</markers>"; 


echo $xml_output; 
4

3 回答 3

6

运行您需要放入 XML 的任何字符串,htmlspecialchars()您应该没问题。

至于处理结果,您可以使用foreach循环遍历数组。

放在一起,你得到:

foreach($row as $column) {
    $row[$column] = htmlspecialchars($column);
}
于 2012-10-17T23:55:02.837 回答
0

检查htmlspecialchars函数。

于 2012-10-17T23:56:32.493 回答
0

怎么样:

$row = mysql_fetch_assoc($resultID); 
$row = array_map('htmlentities', $row);
$xml_output .= "\t\t<marker name='.$row['CompanyName']."' address='".$row['Address_1']."' phone='".$row['Phone']."' lat='".$row['Lat_Info']."' lng='".$row['Long_Info']."' county='".$row['County']."'/>\n";
于 2012-10-17T23:57:51.883 回答