Auslesen aus XLM von Google

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auslesen aus XLM von Google

    Hallo zusammen,

    ich generiere einen Link mit dem ich von Google eine XML erhalte.

    https://maps.googleapis.com/maps/api...94&sensor=true


    Wie kann ich nun nur die ausgegebene Stadt z.B. als PHP echo ausgeben?

  • #2
    Moinsen,

    schau Dir bitte hierzu mal DomDocument oder SimpleXML im PHP Manual an. So kannst Du den XML String entsprechend einlesen und die Daten daraus entnehmen, die Du benötigst.

    PHP: DOMDocument - Manual
    PHP: SimpleXML - Manual
    MM Newmedia | MeinBlog

    Kommentar


    • #3
      Ich kenn mich leider nicht mit XML Dateien aus. Kannst du mir behilflich sein?

      Das ist was ich habe:

      <?php
      $datei = 'https://maps.googleapis.com/maps/api/geocode/xml?latlng=51.32197929999999,6.5475994&sensor=true';
      $xml = simplexml_load_file($datei);
      echo $xml->result->type->formatted_address;
      ?>
      Zuletzt geändert von Mad_Igel; 15.06.2012, 14:23.

      Kommentar


      • #4
        guck dir das XML doch mal im Brwoser an, "Krefeld" liegt im Knoten result->address_component[ 3 ]->long_name.

        Kommentar


        • #5
          Habe es in dem Code angepasst, jeoch erhalte ich keine Ausgabe auf meiner Seite.


          <?php
          $datei = 'https://maps.googleapis.com/maps/api/geocode/xml?latlng=51.32197929999999,6.5475994&sensor=true';
          $xml = simplexml_load_file($datei);
          echo $xml->result->address_component[ 3 ]->long_name;
          ?>


          Muss ich noch etwas für simpleXML in meinem Quellcode schreiben? Um es zu aktivieren?

          Danke schon mal für die Hilfe. Lichtblick. :-)

          Kommentar


          • #6
            mach mal ein

            Code:
            print_r($xml)
            ggf. im Browser Rechtsklick -> Quelltext anzeigen, dann kannst du dir die Struktur mal richtig angucken. ggf. hier zusammen mit deinem aktuellen Fortschritt posten, wenn du nicht weiterkommst.

            Kommentar


            • #7
              Dies ist mein Code:

              <!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>Test</title>

              </head>
              <body>



              <!-- Koordinaten bzw. Standort erkennen -->

              <script>
              navigator.geolocation.getCurrentPosition(function(position){
              document.getElementById('pos').innerHTML = position.coords.latitude;
              document.getElementById('pos2').innerHTML = position.coords.longitude;
              }, function(){
              document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
              });
              </script>

              <!-- Koordinaten hier ausgeben... -->

              <?php $koo1 = "<div id=\"pos\"></div>"; ?>
              <?php $koo2 = "<div id=\"pos2\"></div>"; ?>

              <!-- Abfrage URL zusammenbauen -->

              ... Bekomm ich alleine hin... :-)


              <!-- Mit Abfrage über Google URL (hier Beispiel) an XML / Json Datenstrom kommen und Stadt rausholen... -->

              <?php
              $datei = 'https://maps.googleapis.com/maps/api/geocode/xml?latlng=51.32197929999999,6.5475994&sensor=true';
              $xml = simplexml_load_file($datei);
              echo $xml->result->address_component[ 3 ]->long_name;
              print_r($xml)
              ?>


              <!-- Hier soll am Ende die Stadt drin stehen... -->

              <?php $standort = "HIER SOLL STATT KOORDINATEN DIE STADT REIN"; ?>



              </body>
              </html>

              Kommentar


              • #8
                Bitte Regeln (s. meine Signatur) lesen und Posting entsprechend anpassen.

                Mir ist nicht klar, wieso du hier PHP und JS postest. Das Problem sollte sich ja auf eine Seite (Client oder Server) eingrenzen lassen.

                Kommentar


                • #9
                  Weil ich heute einen guten Tag habe:
                  PHP-Code:
                  $reader = new XMLReader();
                  $reader->open('https://maps.googleapis.com/maps/api/geocode/xml?latlng=51.32197929999999,6.5475994&sensor=true');

                  $values = array();
                  while (
                  $reader->read()) {
                      switch (
                  $reader->nodeType) {
                          case (
                  XMLReader::ELEMENT) :
                              if (
                  $reader->localName == 'formatted_address') {
                                  
                  $node $reader->expand();
                                  
                  $values[] = $node->nodeValue;
                              }
                      }
                  }

                  echo 
                  "Meine Stadt: " $values[2]; // Meine Stadt: Krefeld, Germany 
                  Bei Fragen zuerst ins Manual schauen und dann hier posten.
                  MM Newmedia | MeinBlog

                  Kommentar


                  • #10
                    Auslesen aus XLM von Google

                    Hallo Ezkimo,

                    [COLOR=black]ich habe Deinen Code kopiert und in mein Skript eingesetzt, bekomme aber immer die Fehlermeldung:
                    Parse error: syntax error, unexpected ']', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /homepages/3/d509212150/htdocs/Geocode.php on line 14 ([FONT=Courier New]$values[] = $node->nodeValue; )[/FONT]

                    [/COLOR]Mein PHP-Code lautet:
                    PHP-Code:
                     $laenge $_POST['Laenge'];
                    $breite $_POST['Breite'];
                    echo 
                    "Länge = ".$laenge." und Breite = ".$breite."<br/>;
                    $reader = new XMLReader();
                    $reader->open('https://maps.googleapis.com/maps/api/geocode/xml?latlng=51.32197929999999,6.5475994&sensor=true');
                     
                    $values = array();
                    while (
                    $reader->read()) {
                    switch (
                    $reader->nodeType) {
                    case (XMLReader::ELEMENT) :
                    if (
                    $reader->localName == 'formatted_address') {
                    $node = $reader->expand();
                    $values[] = $node->nodeValue;
                    }
                    }
                    }
                     echo "
                    Meine Stadt" . $values[2]; // Meine Stadt: Krefeld, Germany 
                    Was kann die Ursache sein?

                    Im voraus vielen Dank!
                    Zuletzt geändert von ukr; 22.06.2014, 18:49.

                    Kommentar


                    • #11
                      Bitte wenigstens in so weit die Grundlagen lernen, dass dir ein fehlendes Anführungszeichen selbst auffällt …

                      (Zumal das Syntaxhighlighting hier, oder in einem vernünftigen Editor, es ja wohl reichlich trivial macht, die fehlerhafte Stelle zu finden.)
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Vielen Dank für Deinen Hinweis. So was Blödes!

                        Kommentar

                        Lädt...
                        X