Xml (gpx) ---> Php

grünes-huhn

Mitglied
hi!

ich bin absoluter XML-Neuling, ich hätte ein Problem. Ist für einige von euch sicher pipifax :p

So. Ich hab eine GPX Datei wo ich NUR den "ele" Wert auslesen möchte.
Wenn ich das mach, wie hier http://www.devmag.net/webprog/php_xml_expat_1.htm beschrieben wird, bekomme ich jedoch auch Metadata und Titel und noch ein paar andere Sachen mit.

Wie bekomme ich also nur den "ele" Wert?

Hier ein bisschen von der GPX Datei:
PHP:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.11.6" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">

  <metadata>
    <link href="http://www.garmin.com">
      <text>Garmin International</text>
    </link>
    <time>2007-08-14T13:53:30Z</time>
    <bounds maxlat="47.389548" maxlon="13.760247" minlat="47.326827" minlon="13.675790"/>
  </metadata>

  <trk>
    <name>Untertal</name>
    <extensions>
      <gpxx:TrackExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
        <gpxx:DisplayColor>White</gpxx:DisplayColor>
      </gpxx:TrackExtension>
    </extensions>
    <trkseg>
      <trkpt lat="47.388325" lon="13.688128">
        <ele>770.616699</ele>
      </trkpt>

Danke!
 
Hi.

Implizit werden alle Textknoten ausgegeben. Um das zu verhindern:
XML:
<xsl:template match="text()" />
\edit: Ich war der Meinung du verwendest XSL. Du hast offenbar ein Problem mit der Nutzung von Expat in PHP. Da ist das hier das falsche Forum.

Gruß
 
Zuletzt bearbeitet von einem Moderator:
kann ich es anders machen als mit expat?

außer mit SimpleXML, ich hab nur das php 4.

Ich wäre ja für alles offen :).


Wie gesagt ich würde gerne eine GPX Datei umwandeln und mit die Variablen Lon, Lat und ene "rausziehen".

Lon, Lat funktioniert nur mit der Höhe, also "ene" hab ich so meine Probleme.
 
Hi.
kann ich es anders machen als mit expat?

außer mit SimpleXML, ich hab nur das php 4.

Ich wäre ja für alles offen :).
Da mußt du wirlich mal im PHP Forum fragen womit man sowas am besten machen kann.

Ich würde (falls nicht wirklich ein Stream Parser a la Expat notwendig ist) einfach XPath verwenden um die Informationen zu extrahieren. Auf die Schnelle hab ich mal das http://scripts.carrubbers.org/scripts/php/xpath/ gefunden.

Gruß
 
Zurück