Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Hilfe mit xpath für kml-XML

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Hilfe mit xpath für kml-XML

    Hi,

    könnte ihr mir bitte Hilfestellung geben...

    also, ich habe einen XML-String aus einer KML Datei.
    Die Datei kann so aussehen:
    PHP-Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2"
      xmlns:gx="http://www.google.com/kml/ext/2.2">
        <Placemark>
          <name>Eiffel Tower</name>
          <description>
            <![CDATA[
            <p>Located in Paris, France.</p> 
            <p>This description balloon opens 
            when the Placemark is loaded.</p>
            ]]> 
          </description>
          <gx:balloonVisibility>1</gx:balloonVisibility>
          <Point>
            <coordinates>2.294785,48.858093,0</coordinates>
          </Point>
        </Placemark>
    </kml>
    oder auch so
    PHP-Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2"
      xmlns:gx="http://www.google.com/kml/ext/2.2">
    <Document>  
        <Placemark>
          <name>Eiffel Tower</name>
          <description>
            <![CDATA[
            <p>Located in Paris, France.</p> 
            <p>This description balloon opens 
            when the Placemark is loaded.</p>
            ]]> 
          </description>
          <gx:balloonVisibility>1</gx:balloonVisibility>
          <Point>
            <coordinates>2.294785,48.858093,0</coordinates>
          </Point>
        </Placemark>
    </Document>
    </kml>
    Ich möchte eigentlich nur die Koordinaten haben. Es kann davon mehrere im Dokument geben.
    Deshalb muss ich wohl xpath verwenden.

    Ich habe gelesen, dass mir folgende Xpath-Query eigentlich das Ergebnis liefern sollte:
    $res = $xml->xpath('//coordinates');

    Das sollte die Coordinates-Nodes liefern, egal wo sie sich befinden.
    Leider bleibt der Ergebnis Array leer.

  • #2
    Ach, was ein Rotz. Eine Anmerkung im PHP Manual hat den Fehler behoben.
    On a xml that have namespace you need to do this before your xpath request (or empty array will be return) :
    PHP-Code:
    $string str_replace('xmlns=''ns='$string); //$string is a string that contains xml... 

    Kommentar

    Lädt...
    X