| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

20-10-2011, 16:21
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
xml schnittstelle
hallo gemeinschaft
nachfolgend ist das ergebnis einer xml abfrage
meine frage nun, wie bekomme ich das in tabellenform hin
toll waere, exemplarisch für zwei - z.b name, picture
Unformatiertes, Forensprengendes XML entfernt -unset
Geändert von unset (20-10-2011 um 17:12 Uhr)
|

20-10-2011, 16:22
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
sorry, wollte es formatieren - hab aber zu früh losgeschickt
|

20-10-2011, 16:39
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

20-10-2011, 16:49
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
Zitat:
Zitat von jhaustein
sorry, wollte es formatieren - hab aber zu früh losgeschickt
|
Dann bearbeite den Beitrag bitte, Digga.
Das ist ja mega ätzend ...
|

20-10-2011, 16:50
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.756
|
|
>1k Beiträge hier aber immer noch den "Ändern"-Button nicht gefunden? Ach neeee
__________________
Drelingdo
Krabonse
Simmannamando
|

20-10-2011, 17:13
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Du kannst das XML formatieren und deinen Beitrag bearbeiten, um es erneut einzufügen. Außerdem behalte ich mir vor, dich beim nächsten mal einfach zu sperren –*das Maß ist nämlich langsam voll und meine Nerven aufgebraucht.
|

20-10-2011, 18:20
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
ich versuchs nocheinmal
also diesen link versende ich
HTML-Code:
http://test.de/xml/?action=searchroutes&partnerID=3434342&
destination=72&startday=2011.06.01&endday=2011.07.31&stars=5
und bekomme dass zurück
PHP-Code:
<Route><Row>1</Row><RouteID>26202</RouteID>
<Name>Von Rom nach Ft. Lauderdale</Name >
<Picture><URL>http://www.test.de/images/small/solstice_2221.jpg</URL>
<Width>97</Width><Height>67</Height></Picture></Route>
<Route><Row>2</Row><RouteID>26223</RouteID>
<Name>Von Rom nach Ft. Lauderdale</Name >
<Picture><URL>http://www.test.de/images/small/solstice_44321.jpg</URL>
<Width>97</Width><Height>67</Height></Picture></Route>
nun möchte ich gerne daraus eine tabelle erstellen die so aussieht
routeid___name___picture
könnt ihr mir dabei bitte helfen?
|

21-10-2011, 01:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von jhaustein
könnt ihr mir dabei bitte helfen?
|
Klar, aber was genau willst du jetzt wissen? Was hast du bereits? Woran hapert es?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

21-10-2011, 07:51
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
ich habe mir diesen code angeschaut - nur weiss ich nicht, wie ich meine daten in $daten reinbekomme - da ich ja diese abfrage losgeschickt habe
Testberichte und Verbraucherinformationen - Stiftung Warentest
destination=72&startday=2011.06.01&endday=2011.07.31&stars=5
PHP-Code:
<?php
$daten = file_get_contents("data.xml");
$daten = explode("<IDEM>" , $daten);
for ($zaehler = 1; $zaehler < count($daten); $zaehler++) {
ereg("<LINK>(.*)</LINK>" , $daten[$zaehler] , $link);
ereg("<NAME>(.*)</NAME>" , $daten[$zaehler] , $name);
ereg("<BESCHREIBUNG>(.*)</BESCHREIBUNG>" , $daten[$zaehler] , $beschreibung);
echo "<dl>\n";
echo " <dt> <a href=\"" . trim($link[1]) . "\">$name[1]</a> </dt>\n";
echo " <dd> $beschreibung[1] </dd>\n";
echo "</dl>\n";
}
?>
|

21-10-2011, 07:52
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
dieser link waere es gewesen
PHP-Code:
http://teste.de/xml/?action=searchroutes&partnerID=112898000000&destination=72&startday=2011.06.01&endday=2011.07.31&stars=5
|

21-10-2011, 09:05
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
Dein Code ist mehr als suboptimal. Allein schon der Einsatz von ereg() müsste einige depricated Warnings auslösen, sofern das Error Reporting eingeschaltet ist.
Bitte schaue Dich bzgl. der Verarbeitung von XML Daten mal in der PHP Dokumentation im Bereich von DomDocument um. Damit lassen sich alle Deine Vorhaben exakt und mit Leichtigkeit erledigen.
LINK: PHP: DOMDocument - Manual
|

21-10-2011, 09:19
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
hatte es so probiert - seite bleibt leer
PHP-Code:
$daten = 'http://teste.de/xml/?action=listRoutes&partnerID=4234235';
echo $daten;
for ($zaehler = 1; $zaehler < count($daten); $zaehler++) {
ereg("<RoutePlanID>(.*)</RoutePlanID>" , $daten[$zaehler] , $link);
ereg("<RoutePlanName>(.*)</RoutePlanName>" , $daten[$zaehler] ,
$name);
echo "<dl>\n";
echo " <dt> <a href=\"" . trim($link[1]) . "\">$name[1]</a> </dt>\n";
echo "</dl>\n";
|

21-10-2011, 09:25
|
|
jhaustein
Newbie
|
|
Registriert seit: Sep 2002
Beiträge: 1.132
|
|
wie würdest du es denn machen ohne "ereg"
|

21-10-2011, 10:24
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.327
|
|
Da es XML-Code ist, würde ich einen XML-Parser verwenden und nicht mit Regex herumbasteln.
|

21-10-2011, 11:29
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
Zitat:
Zitat von jhaustein
wie würdest du es denn machen ohne "ereg"
|
Naja, die Lösung habe ich Dir schon gesagt. Ich würde die XML Datei mittels DomDocument oder mittels SimpleXML laden. Somit hast Du schon mal alle XML Elemente und musst diese nicht mit ereg() parsen. Das ist nämlich grober Unfug.
Nachdem Du die XML Datei geladen hast, kannst Du entweder das komplette Dokument nach den von Dir festgelegten Knoten durchsuchen. Und schon hast Du Deine Ergebnisse.
Schaue am besten mal nach DomDocument::getElementsByTagName() oder lasse Dir direkt ein Objekt mit allen Knoten mittels simplexml_load_file() zurückgeben.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|