XML DAtei mit PHP Parsen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmerkung
anzahl
attribut
auslese
aussuchen
code
datei
einlesen
element
geschwindigkeit
http
knoten
liste
manual
objekt
original code
punkt
struktur
url
vorhandenen funktion
-
Hi,
lang ist's her, dass ich mal PHP gecodet habe. Mittlerweile kann man sogar objektorientiert programmieren. Vielleicht kann mir ja einer von euch helfen. Ich würde gerne aus einer XML Datei einige Elemente auslesen.
Aufbau meiner XML-Datei
<parentArray> <parent1> <child1>Value</child2> <child2>Value</child2> <child3>Value</child3> <child4>Value</child4> <child5>Value</child5> </parent1> <parent2> <child1>Value</child2> <child2>Value</child2> <child3>Value</child3> <child4>Value</child4> <child5>Value</child5> </parent2> <parent3> <child1>Value</child2> <child2>Value</child2> <child3>Value</child3> <child4>Value</child4> <child5>Value</child5> </parent3> </parentArray>
So, die Anzahl der Parent-Nodes ist variabel, aber die Anzahl der Child-Nodes ist fest, wobei ich hier nur jeweils immer child1, child2 und child 4 brauche.
Kann mir vielleicht einer ein kleines Beispiel schreiben, was genau das tut? Mein XML entsteht übrigens durch das Serialisieren einer Liste von C# - Objekten. Vielleicht gibt es ja die Möglichkeit das ganze wieder zu deserialisieren. Das wäre noch besser für mich.
Oder gibte es noch eine bessere Lösung? Ich muss leider diesen umständlichen Weg gehn, da .NET von Lima leider nicht unterstützt wird.
Gruß zyclop -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn die XML Datei nicht zu groß wird empfehle ich dir SimpleXML. Das ist bei PHP dabei und das einlesen von XML Dateien geht damit sehr einfach von der Hand. EInfach mal in die PHP Doku schauen.
Alternativ XPath oder halt den XML Parser nutzen, für den du aber deine eigenen Funktionen schreiben müsstest. -
Hi,
eine Anmerkung zu Deiner XML-Struktur:
es wäre geschickter, wenn die Knoten nicht 'parent1', 'parent2', ..., 'parentn' heißen würden, sondern die ID des Parents ein Attribut am 'parent'-Knoten ist, also so:
<parent id="1">
...
</parent>
weil Du dann einfach mit getElementsByTagName ein Array erhältst, über das Du iterieren kannst:
http://de3.php.net/manual/de/function.domelement-get-elements-by-tagname.php
Ich hab auch erst einmal was mit XML gemacht, aber die Beispiele in der PHP-Doku (http://de3.php.net/manual/de/book.domxml.php) haben mir wirklich gut geholfen.
Viel Spass. -
Vielen Dank euch beiden.
@erlmann: zwei Dinge zu deiner Anmerkung. Erstens das ist nur ein beispielhaftes Schema von meiner Struktur und zweitens kann ich mir nicht aussuchen, wie das ganze aussieht, weil ich die Datei wie gesagt mit einer in .NET vorhandenen Funktion erstelle.
Da Lima ein öffentliches Forum ist, kann ich leider nicht meinen original Code und das original XML zeigen. Aber ich kann Grob erklären, was ich eigentlich machen will.
Ich habe ein Windows Mobile Gerät mit GPS Empfänger. Mit diesem Gerät zeichne ich Punkte (Koordinaten, Richtung und Geschwindigkeit) auf, diese Punkte speicher ich mir in diese XML Datei und will sie nun wieder auslesen, um die zurückgelegte Route mit irgendeinem Karten Programm (GoogleMaps, etc.) anzuzeigen.
Wenn sich jemand damit auskennt, dann kann er mir gerne sagen, ob es eine noch simplere Lösung für mein Problem gibt.
Gruß zyclop -
das geht ganz einfach.. such mal nach curl bei php.net
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage