2017-01-11 2 views
0

Ich arbeite an einem Beispielprojekt, das Positionen von Telecom-Betreibern Mobilfunkmasten basierend auf Regionen auf Google Maps gibt.Speichern einer Ausgabe in .xml-Format

Ich verfolge die Schritte von der Google Maps API how-to google maps instructions

ich hier stecke. Ich habe alle Anweisungen befolgt, und ich bekomme auch XML-Ausgabe auf meiner Webseite aus der Datenbank. Nach den Anweisungen, die ich befolgen muss, muss ich diese Ausgabe in eine .XML-Datei auf meinem Server für die weitere Verarbeitung speichern und Markierungen auf den Google Maps hinzufügen. Die Marker enthalten die Lat - Long - Werte und einige Informationen zu den ausgewählten Mobilfunkmasten: Mobilfunknummer, Standortcode und Funkgerät.

Ich habe nach der Lösung gesucht, aber ich bin fest - PHP: DOMDocument :: speichern und wie in meinem Code zu implementieren.

Der Code für das gleiche ist als Referenz angehängt:

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>'; 
} 

Ich brauche nur zu wissen, wie kann ich die Ausgabe in eine XML-Datei Vielen Dank im Voraus speichern.

+1

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

+0

Dank viel .. wird es verweisen .. –

Antwort

0

setzen Sie Ihre XML in eine Variable und speichern Sie es mit 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

Vielen Dank..ich kann jetzt den Inhalt ausgeben & weitermachen .. –

Verwandte Themen