Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal,
Tenho um arquivo kml, extensão do google earth, codificada em xml. nesse arquivo tenho diferentes elementos do google. como Poligonos, marcadores e caminhos. cada polígono representa uma área com informações de quantidade de clientes, de acordo com a quantidade de cada área a cor muda ex: 10%=vermelho, 60%= verde, etc...
o que preciso fazer é um formulário onde o usuário vai indicar o nome da área e a porcentagem e via php, preciso acessar o arquivo kml e alterar no elemento indicado a cor dele de acordo com o padrão fixo. porém, estou com o seguinte problema, não consigo acessar um nó filho dentro do código xml. por exemplo: tenho no codigo xml o elemento <Document> dentro desse elemento tenho o nó <folder> dentro desse nó tenho outro que tambem se chama <folder> neste nó tenho um elemento <Placemarck>, o código que tenho ele acessa apenas o primeiro elemento no caso seria <document>, como faço para acessar os demais elementos do código xml?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Soltel</title> </head> <body> <h1>Soltel</h1> <?php $link = "kml/uberlandia.kml"; //link do arquivo xml $xml = simplexml_load_file($link);//carrega o arquivo XML e retornando um Array // print_r $xml; //var_dump($xml); //obs: neste ponto deveria acessar o elemento desejado. foreach($xml->Placemark as $Placemark){ echo $Placemark->name; echo $Placemark->styleUrl; } ?> </body> </html>
<code xml>
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="[http://www.opengis.net/kml/2.2"](http://www.opengis.net/kml/2.2) xmlns:gx="[http://www.google.com/kml/ext/2.2"](http://www.google.com/kml/ext/2.2) xmlns:kml="[http://www.opengis.net/kml/2.2"](http://www.opengis.net/kml/2.2) xmlns:atom="[http://www.w3.org/2005/Atom">](http://www.w3.org/2005/Atom%22)
<Document>
<name>UBERLÂNDIA.kml</name>
<StyleMap id="m_ylw-pushpin">
<Pair>
<key>normal</key>
<styleUrl>#s_ylw-pushpin0</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#s_ylw-pushpin_hl0</styleUrl>
</Pair>
</StyleMap>
<Folder>
<name>UBERLÂNDIA</name>
<open>1</open>
<Folder>
<name>AREA</name>
<open>1</open>
<Placemark>
<name>jardim holanda</name>
<styleUrl>#m_ylw-pushpin</styleUrl>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-48.32488777746115,-18.95959784475365,0 -48.32295861536939,-18.95929322524327,0 -48.32026405346004,-18.96352904573574,0 -48.31754942518452,-18.9665967776136,0 -48.31714072846297,-18.96665805302447,0 -48.3155376995926,-18.96656763591081,0 -48.31397776412899,-18.9664757646034,0 -48.31338294394784,-18.96634457250738,0 -48.31276911512214,-18.96613107482843,0 -48.31215336392997,-18.9655987807667,0 -48.31180539432194,-18.9650325341373,0 -48.31160030435869,-18.9643077285635,0 -48.31166765518667,-18.96064075494542,0 -48.30722885791366,-18.96045159254923,0 -48.31382253880895,-18.94886697414306,0 -48.32422865139704,-18.9506886200643,0 -48.32487875875525,-18.95103014922338,0 -48.32488777746115,-18.95959784475365,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Folder>
</Folder>
</Document>
</code> código abreviado
se deixar apenas o elemento <Placemark> no documento funciona normalmente.Carregando comentários...