Autor Zpráva
caradoc
Profil *
Dobrý den, ahoj
prosím o příklad jak z XML souboru

<?xml version="1.0" encoding="utf-8" ?> 
- <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.1" creator="SportTracks 2.1" xmlns="http://www.topografix.com/GPX/1/1">
  <metadata /> 
- <trk>
  <name /> 
  <cmt /> 
- <trkseg>
- <trkpt lat="50.4065895080566" lon="14.4504842758179">
  <ele>106.363037109375</ele> 
  <time>2010-06-23T12:42:34Z</time> 
  </trkpt>
  </trkseg>
  </trk>
  </gpx>

získat data do proměnných v PHP hodnoty Lat, Lon, Ele a Time
stále získávám jen prázné hodnoty, už nevím jak pořešit problém,
děkuji za odpověďi,.
kajaman
Profil
SimpleXML
caradoc
Profil *
díky za tip, ale stále nevím jak najít řešení pro načtení hodnot LAT a LON, které nejsou umístěny v párovém tagu, ale v jeho "nastavení"
Medvídek
Profil
kajaman:
Dostaneš tu hodnotu v poli: http://data.69-design.cz/xml/

PHP
include 'xml.php';

$xml = new SimpleXMLElement($xmlstr);

print_r($xml->movie[0]->trkpt[lat]);
echo "<br />";
print_r($xml->movie[0]->trkpt[lon]);

// echo $xml->movie[0]->trkpt[lat][0]."<br />".$xml->movie[0]->trkpt[lon][0];


XML
<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <trkpt lat="50.4065895080566" lon="14.4504842758179">
  </trkpt>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El ActÓr</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>
caradoc
Profil *
medvídek
podle všech propočtů by načítání z xml mělo pracovat, ale PHP píše chybu
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 26: parser error : Opening and ending tag mismatch: trkpt line 5 and movie
nemá být v PHP zapnut nějaký plugin?
motik
Profil
soubor xml.php musíš mít v utf-8
--
to byla chyba u mě - jinak příklad od Medvídek je vpořádku
caradoc
Profil *
nedaří se mě to dát dohromady,
z jednoduchého XML data načtu, ale z exportu GPS programů jsem zaskočen
nedokáži sestavit jak volat data hodnot LAT LON ELE a TIME a tyto data zapisovat do databáze,
nedokázal byste někdo postavit přesný kod jak toto "načítat" z XML do proměnných?
mě se vrací prázdné hodnoty,
zkoušel jsem načítat XLM přímo z URL i jako soubor, a stejně mám prázdné hodnoty,
laboruji s tím už delší dobu a nemám už nápady jak co sestavit k sobě abych řetězce načítal správně
moc díky,

Caradoc
Medvídek
Profil
caradoc:
Nejlepší je začít od začátku :)
Takže si print_r ni ty pole co ti to vrací.


Tady máš ukázku: http://data.69-design.cz/xml/data.php

echo "LAT: ". $xml->trk->trkseg->trkpt[lat] ."<br />";
echo "LON: ". $xml->trk->trkseg->trkpt[lon] ."<br />";
echo "ELE: ". $xml->trk->trkseg->trkpt->ele ."<br />";
echo "TIME: ". $xml->trk->trkseg->trkpt->time ."<br />";


To si projedeš foreach, podle počtu záznamů a při každým cyklu vložíš, updatneš, nebo co cheš :)


Tak sem ti to udělal i s procházením:

$kolik=count($xml->trk);
for($i = 1; $i < $kolik; $i++){
echo "LAT: ". $xml->trk[$i]->trkseg->trkpt[lat] ."<br />";
echo "LON: ". $xml->trk[$i]->trkseg->trkpt[lon] ."<br />";
echo "ELE: ". $xml->trk[$i]->trkseg->trkpt->ele ."<br />";
echo "TIME: ". $xml->trk[$i]->trkseg->trkpt->time ."<br />";
}


příklad: http://data.69-design.cz/xml/data2.php
XML zdroj: http://data.69-design.cz/xml/xmlko2.xml
caradoc
Profil *
to je přesně ono, lehce jsem kod poupravil, protože XML vypadá maličko jinak, ale tato pomoc byla jedinečná, moc děkuji..
Caradoc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0