Zurück   klamm-Forum > Virtual World > Programmierung

Like Tree5Likes
  • 1 geposted von tleilax
  • 1 geposted von tleilax
  • 1 geposted von tleilax
  • 1 geposted von marac
  • 1 geposted von marac

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20.06.2017, 13:31:51   #1 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard ERLEDIGT ... XML vertauscht ...

Hey... Ich habe folgendes Problem ...

Ich lasse mir Infos mit Hilfe von XML anzeigen sieht derzeit so aus :

Code:
1:
<1497958087>disappear_time<564662302>eid<51.203236>latitude<14.462181>longitude<166>id
Soll aber eigentlich so aussehen

<markers>
<marker id="564662302" name="166" lat="51.203236" lng="14.462181" type="restaurant"/>
</markers>

Kann man das irgendwie umstellen das es klappt ?


PHP-Code:
1:
2:
3:
$xml = new SimpleXMLElement('<markers />');
array_walk_recursive($content, array($xml'addChild'));
$ausgabe =$xml->asXML(); 

$content ist json string

Geändert von mydoys.de (29.06.2017 um 13:34:23 Uhr)
mydoys.de ist offline   Mit Zitat antworten
Alt 22.06.2017, 16:01:09   #2 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Wie sieht denn das $content-Array aus? Wenn Du das einfach so in "addChild()" schubst, kann doch auch nie aus "latitude" "lat" werden...
mydoys.de gefällt das.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 27.06.2017, 08:14:58   #3 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard

Zitat:
Zitat von tleilax Beitrag anzeigen
Wie sieht denn das $content-Array aus? Wenn Du das einfach so in "addChild()" schubst, kann doch auch nie aus "latitude" "lat" werden...
HTML-Code:
1:
{"figuren":[{"disappear_time":1497289833,"eid":420604500,"latitude":51.005062,"longitude":13.788081,"figur_id":134},{"disappear_time":1497290086,"eid":420650720,"latitude":50.991810,"longitude":13.786435,"figur_id":157},{"disappear_time":1497289827,"eid":420669229,"latitude":51.078472,"longitude":13.690406,"figur_id":147},{"disappear_time":1497290826,"eid":420766865,"latitude":51.166668,"longitude":13.678964,"figur_id":147},{"disappear_time":1497291157,"eid":420822384,"latitude":51.020481,"longitude":13.785569,"figur_id":147}]}
mydoys.de ist offline Threadstarter   Mit Zitat antworten
Alt 27.06.2017, 15:24:40   #4 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Dann sollte das hier Dir eigentlich weiterhelfen:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<?php
$xml 
= new SimpleXMLElement('<markers/>');
foreach (
$array['figuren'] as $row) {
    
$child $xml->addChild('marker');

    
$child->addAttribute('name''value');
    
// ...
}
echo 
$xml->asXML();
mydoys.de gefällt das.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 28.06.2017, 10:52:10   #5 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard

Zitat:
Zitat von tleilax Beitrag anzeigen
Dann sollte das hier Dir eigentlich weiterhelfen:

....
Da bleibt es leer



Zitat:
["figuren"]=>
array(169 {
[0]=>
array(5) {
["disappear_time"]=>
int(1498641031)
["eid"]=>
int(70807689)
["latitude"]=>
float(51.186707)
["longitude"]=>
float(14.457597)
["pokemon_id"]=>
int(46)
}
[1]=>
array(5) {
["disappear_time"]=>
int(1498640811)
["eid"]=>
int(70808022)
["latitude"]=>
float(51.065971)
["longitude"]=>
float(13.822653)
["pokemon_id"]=>
int(163)
}
[2]=>
array(5) {
["disappear_time"]=>
int(1498640951)
["eid"]=>
int(70808386)
["latitude"]=>
float(51.065552)
["longitude"]=>
float(13.823375)
["pokemon_id"]=>
int(29)
}

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
$xml = new SimpleXMLElement('<markers />');
foreach (
$array['figuren'] as $row) {
    
$child $xml->addChild('marker');

    
$child->addAttribute('disappear_time''value');
    
$child->addAttribute('latitude''value');
  
}
echo 
$xml->asXML(); 
oder mache ich was falsch ?
mydoys.de ist offline Threadstarter   Mit Zitat antworten
Alt 28.06.2017, 11:18:30   #6 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Wird das Array denn korrekt durchlaufen? Und dass Du dort die Werte aus $row statt dem festen Wert value einsetzen musst, hatte ich jetzt mal als gegeben vorausgesetzt.

Das Skript hier:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?php
$array
['figuren'] = [['a' => 1'b' => 2]];

$xml = new SimpleXMLElement('<markers />');
foreach (
$array['figuren'] as $row) {
    
$child $xml->addChild('marker');

    
$child->addAttribute('disappear_time'$row['a']);
    
$child->addAttribute('latitude'$row['b']);

}
echo 
$xml->asXML();
erzeugt bei mir dieses XML:

Code:
1:
<markers><marker disappear_time="1" latitude="2"/></markers>
mydoys.de gefällt das.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 28.06.2017, 20:08:36   #7 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard

Zitat:
Zitat von tleilax Beitrag anzeigen
Wird das Array denn korrekt durchlaufen? Und dass Du dort die Werte aus $row statt dem festen Wert value einsetzen musst, hatte ich jetzt mal als gegeben vorausgesetzt.

Das Skript hier:

PHP-Code:
1:
............ 
erzeugt bei mir dieses XML:

Code:
1:
<markers><marker disappear_time="1" latitude="2"/></markers>
Komisch, das macht es bei mir auch ...
Aber warum klappt es dann mit dem anderen nicht ...

Hier mal der Ganze code :



PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<?php

$content     
= @file_get_contents("$SEITE");
$content     =json_decode($contenttrue);






$xml = new SimpleXMLElement('<markers />');
foreach (
$array['figuren'] as $row) {
    
$child $xml->addChild('marker');

    
$child->addAttribute('disappear_time'$row['a']);
    
$child->addAttribute('latitude'$row['b']);

}
echo 
$xml->asXML();

$SEITE = ist die Adresse wo die das hier herkommt:

Code:
1:
{"figuren":[{"disappear_time":1498674329,"eid":75489693,"latitude":50.285469,"longitude":11.910858,"id":246},{"disappear_time":1498674672,"eid":75490341,"latitude":53.150509,"longitude":11.244505,"id":147},{"disappear_time":1498674621,"eid":75490462,"latitude":52.199211,"longitude":8.777927,"id":147},{"disappear_time":1498674868,"eid":75490573,"latitude":49.460598,"longitude":6.633313,"id":143},{"disappear_time":1498673284,"eid":75490706,"latitude":49.966843,"longitude":8.578279,"id":147}]}

Um zuverstehe was es werden soll :

HTML-Code:
1:
2:
3:
4:
5:
6:
7:
8:
<?xml version="1.0" encoding="UTF-8"?> <markers> <marker id="1" name="246" lat="50.285469" lng="11.910858" time="1498674329" type="restaurant" /> <marker id="2" name="147" lat="53.150509" lng="11.244505" time="1498674672" type="restaurant" /> <marker id="3" name="147" lat="52.199211" lng="8.777927" time="1498674621" type="bar" /> <marker id="4" name="143" lat="49.460598" lng="6.633313" time="1498674868" type="bar" /> <marker id="5" name="147" lat="49.966843" lng="8.578279" time="1498673284" type="restaurant" /> </markers>
mydoys.de ist offline Threadstarter   Mit Zitat antworten
Alt 28.06.2017, 21:17:32   #8 (permalink)
Erfahrener Benutzer

ID: 272843
Lose-Remote

Reg: 01.02.2007
Beiträge: 2.070
Standard

1. Du liest deine Quelle in eine Variable $content und verarbeitest danach ein $array['figuren']
2. Du wertest aus der $row ein Element "a" und ein Element "b" aus, deine Quelle würde aber - wenn man sie korrekt einliest - die Elemente "disappear_time", "eid", etc. liefern

Beispiel abschreiben hilft eben nicht. Lesen, verstehen und auf den Anwendungsfall umsetzen wäre jetzt gefragt.
mydoys.de gefällt das.
Lust auf Macht und Reichtum? Artharia - das Browserspiel ohne einkaufbare Spielvorteile!
marac ist offline   Mit Zitat antworten
Alt 28.06.2017, 21:36:44   #9 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard

Zitat:
Zitat von marac Beitrag anzeigen
1. Du liest deine Quelle in eine Variable $content und verarbeitest danach ein $array['figuren']
2. Du wertest aus der $row ein Element "a" und ein Element "b" aus, deine Quelle würde aber - wenn man sie korrekt einliest - die Elemente "disappear_time", "eid", etc. liefern

Beispiel abschreiben hilft eben nicht. Lesen, verstehen und auf den Anwendungsfall umsetzen wäre jetzt gefragt.

Ok, aber auch wenn ich es anpasse bleibt es leer...

PHP-Code:
1:
2:
<?xml version="1.0"?>
<markers><marker disappear_time="" latitude=""/></markers>

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
$content     = @file_get_contents("$SEITE");
$content     =json_decode($contenttrue);


$xml = new SimpleXMLElement('<markers />');
foreach (
$content as $row) {
    
$child $xml->addChild('marker');

    
$child->addAttribute('disappear_time'$row['disappear_time']);
    
$child->addAttribute('latitude'$row['latitude']);

}
echo 
$xml->asXML(); 
mydoys.de ist offline Threadstarter   Mit Zitat antworten
Alt 28.06.2017, 21:51:50   #10 (permalink)
Erfahrener Benutzer

ID: 272843
Lose-Remote

Reg: 01.02.2007
Beiträge: 2.070
Standard

fast gut... wenn du dir $content mal nach dem Einlesen per var_dump ausgeben lässt, stellst du fest, dass das ein Array bestehend aus einem Element namens "figuren" ist. Dieses Element ist seinerseits wieder ein Array bestehend aus fünf Elementen. Und dann musst du dir überlegen, worauf du denn das foreach anwenden willst.
mydoys.de gefällt das.
Lust auf Macht und Reichtum? Artharia - das Browserspiel ohne einkaufbare Spielvorteile!
marac ist offline   Mit Zitat antworten
Alt 29.06.2017, 10:34:06   #11 (permalink)
Erfahrener Benutzer
Benutzerbild von mydoys.de

ID: 84968
Lose-Remote

mydoys.de eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 2.716
Standard

Zitat:
Zitat von marac Beitrag anzeigen
fast gut... wenn du dir $content mal nach dem Einlesen per var_dump ausgeben lässt, stellst du fest, dass das ein Array bestehend aus einem Element namens "figuren" ist. Dieses Element ist seinerseits wieder ein Array bestehend aus fünf Elementen. Und dann musst du dir überlegen, worauf du denn das foreach anwenden willst.
Danke! Das hätte ich übersehen !


Jetzt die Letzte Frage damit es dargstellt wird wie ein XML datei, damit die Daten von meiner Karte eingelesen werden können was muss ich da tun ?
Das weiß ich leider garnicht..


Edit:
habe es mit
Zitat:
RewriteEngine on
RewriteRule test.xml(.*)$ test.php
versucht klappt nicht


ok... gefunden
Zitat:
header("Content-type: text/xml;");

Geändert von mydoys.de (29.06.2017 um 13:33:57 Uhr)
mydoys.de ist offline Threadstarter   Mit Zitat antworten
Alt 06.09.2017, 06:49:07   #12 (permalink)
Neuer Benutzer

ID: 491981
Lose-Remote

Reg: 06.09.2017
Beiträge: 1
Standard

Zitat:
Zitat von marac Beitrag anzeigen
fast gut... wenn du dir $content mal nach dem Einlesen per var_dump ausgeben lässt, stellst du fest, dass das ein Array bestehend aus einem Element namens "figuren" ist. Dieses Element ist seinerseits wieder ein Array bestehend aus fünf Elementen. Und dann musst du dir überlegen, worauf du denn das foreach anwenden willst.
Das hätte ich übersehen!
zoey7 ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Buchstaben und Zahlen in der Tastatur vertauscht m3L4 Sonstiges 10 14.06.2007 17:12:38
ICQ | Maustasten Vertauscht... real_Napster Software/Windows 2 16.10.2006 19:57:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:03:14 Uhr.