2017-01-11 2 views
0

Я работаю над типовым проектом, который дает позиции операторов сотовой связи операторов связи на основе регионов на картах Google.сохранение вывода в формате .xml

Я следуя инструкциям из API Google Maps, как к google maps instructions

я застрял здесь. Я выполнил все инструкции, и я также получаю XML-вывод на своей веб-странице из базы данных. Теперь, согласно инструкциям, которые я должен выполнить, я должен сохранить этот вывод в файле .XML на моем сервере для дальнейшей обработки и добавить маркеры на карты google. Маркеры включают значения Lat - Long и некоторую информацию о выбранных ячейках: идентификатор ячейки, код местоположения и тип радио.

Я искал решение, но я застрял в - PHP: DOMDocument :: сохранить и как реализовать в моем коде.

Код для того же прилагается для справки:

function parseToXML($htmlStr) { 
    $xmlStr = str_replace('<','&lt;',$htmlStr); 
    $xmlStr = str_replace('>','&gt;',$htmlStr); 
    $xmlStr = str_replace('"','&quot;',$htmlStr); 
    $xmlStr=str_replace("'",'&#39;',$xmlStr); 
    $xmlStr = str_replace('&','&amp;',$htmlStr); 
    return $xmlStr; 
} 


$t_query = "SELECT `radio_type`, `lac`,`cell-id`,`longitude`,`latitude` FROM `".DBNAME."`.`celltower` WHERE `mcc` = '".$mcc."' AND `mnc` = '".$mnc."'"; 

$t_query_exec = mysqli_query($con, $t_query); 

if($t_num_rows = 0) { 
    die("Unable to fetch any data..Please try again..!!"); 
} else { 
    header("Content-type: text/xml"); 

    //Begin XML file, echo parent node. 

    echo '<?xml version="1.0" encoding="utf-8"?>'; 
    echo '<root>'; 
    echo '<markers>'; 
    //Iterating through rows, and printing XML nodes for each 
    while($t_var = mysqli_fetch_assoc($t_query_exec)) { 
     //Add to XML document node. 
     echo '<marker '; 
     echo 'radio_type="' .parseToXML($t_var['radio_type']) . '" '; 
     echo 'lac="' .parseToXML($t_var['lac']) . '" '; 
     echo 'cell-id="' .parseToXML($t_var['cell-id']) . '" '; 
     echo 'longitude="' . $t_var['longitude'] . '" '; 
     echo 'latitude="' .$t_var['latitude'] . '" '; 
     echo '/>'; 
    } 

    echo '</markers>'; 
    echo '</root>'; 
} 

я просто нужно знать, что, как я могу сохранить вывод в файл .xml Спасибо заранее.

+1

http://php.net/manual/en/function.fopen.php – yivi

+0

Спасибо много .. будем называть его .. –

ответ

0

Просто поместите ваш XML в переменную и сохранить его с file_put_contents()

$xmlString = '<?xml version="1.0" encoding="utf-8"?>'; 
$xmlString .= '<root>'; 
$xmlString .= '<markers>'; 
//Iterating through rows, and printing XML nodes for each 
while($t_var = mysqli_fetch_assoc($t_query_exec)) { 
    //Add to XML document node. 
    $xmlString .= '<marker '; 
    $xmlString .= 'radio_type="' .parseToXML($t_var['radio_type']) . '" '; 
    $xmlString .= 'lac="' .parseToXML($t_var['lac']) . '" '; 
    $xmlString .= 'cell-id="' .parseToXML($t_var['cell-id']) . '" '; 
    $xmlString .= 'longitude="' . $t_var['longitude'] . '" '; 
    $xmlString .= 'latitude="' .$t_var['latitude'] . '" '; 
    $xmlString .= '/>'; 
} 

$xmlString .= '</markers>'; 
$xmlString .= '</root>'; 

file_put_contents('output.xml', $xmlString); 
+0

Большое спасибо. Теперь вы можете вывести содержимое и продолжить дальше .. –