.xml Datei auslesen
Hallo zusammen ,
ich stehe vor einem großen Problem
.
Ich hoffe das ich mit diesem Thema hier richtig bin und mir jemand weiter helfen kann.
Fang ich mal an. Ich habe eine test.xml Datei die sieht vom Aufbau so aus:
Hier klicken für weitere Informationen
mein derzeitiger Code sieht so aus:
Hier klicken für weitere Informationen
klapt alles wunderbar ... ausgabe sieht so aus:
Hier klicken für weitere Informationen
jetzt zu meinem Problem ... die $Variabeln möchte ich jedem Player zuweisen können, aber ohne ID ist das bisl blöd.
Wie kann ich sagen Player 1 ist :Ich, 2009, Mann und Player 2 : Du, 2010, Frau ... und so weiter.
Ich hoffe man kann meinem Anliegen folgen
Gruß General5274
ich stehe vor einem großen Problem
.Ich hoffe das ich mit diesem Thema hier richtig bin und mir jemand weiter helfen kann.
Fang ich mal an. Ich habe eine test.xml Datei die sieht vom Aufbau so aus:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
-<Server> <ServerName>Mein Server</ServerName> <ServerURL>www.kuckilucki.oh</ServerURL> -<Players> -<Player> <Name>Ich</Name> <GameVersion>2009</GameVersion> <Type>Mann</Type> </Player> -<Player> <Name>Du</Name> <GameVersion>2010</GameVersion> <Type>Frau</Type> </Player> -<Player> <Name>Er</Name> <GameVersion>2011</GameVersion> <Type>Beides</Type> </Player> </Players> </Server> |
mein derzeitiger Code sieht so aus:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>XML-Datei auslesen und anzeigen</title>
</head>
<body>
<?php
$daten = file_get_contents("test/xml"); // Datei einlesen
$daten = explode("<Player>" , $daten); // Inhalt in ein Array zerlegen
for ($zaehler = 1; $zaehler < count($daten); $zaehler++) {
ereg("<Name>(.*)</Name>" , $daten[$zaehler] , $name);
ereg("<GameVersion>(.*)</GameVersion>" , $daten[$zaehler] , $game);
ereg("<Type>(.*)</Type>" , $daten[$zaehler] , $typ);
echo "$name[1] ,$game[1] ,$typ[1] </br>";
}
?>
</body>
</html>
|
klapt alles wunderbar ... ausgabe sieht so aus:
|
|
Quellcode |
1 2 3 |
Ich, 2009, Mann Du, 2010, Frau Er, 2011 Beides |
jetzt zu meinem Problem ... die $Variabeln möchte ich jedem Player zuweisen können, aber ohne ID ist das bisl blöd.
Wie kann ich sagen Player 1 ist :Ich, 2009, Mann und Player 2 : Du, 2010, Frau ... und so weiter.
Ich hoffe man kann meinem Anliegen folgen
Gruß General5274
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Guten Morgen,
danke ersteinmal für eure Antworten.
@-=LCL=-|BuLLeT|:
leider kann ich da keine ID´s hinzufügen ... das ist so auf dem Gameserver drauf
und ich wüßte echt auch nicht wie ich das anstellen sollte
@reddevil82:
Ich habe mich mal an diesen Vode gewagt
Hier klicken für weitere Informationen
nur bringt mir die Ausgabe nur eine weiße Seite.
Dann ist mir ein Gedanke gekommen. In meinem ersen geposteten Code ....
Hier klicken für weitere Informationen
... besteht da nicht die folgende Möglichkeit ???
Der Inhalt wird doch in einem array zerlegt. In meinem Fall sind es je Player 3 Angaben. Wenn also 3 Player uff Server sind ist logisch die Ausgabe = 9. Jetzt mein Gedankenblitz von der Toilette
...
Man Teilt die 9 durch 3 und gibt an das Ausgabe 1,2 und 3 = Player 1; Ausgabe 4,5 und 6 =Player 2 ... usw.
Gibt es da eine Möglichkeit? Ich habe mich in einer fölligen Sackgase verrant und stehe im Wals und suche ein Baum
Danke und Gruß General5274
danke ersteinmal für eure Antworten.
@-=LCL=-|BuLLeT|:
leider kann ich da keine ID´s hinzufügen ... das ist so auf dem Gameserver drauf
und ich wüßte echt auch nicht wie ich das anstellen sollte
@reddevil82:
Ich habe mich mal an diesen Vode gewagt
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php
$books = simplexml_load_file('books.xml');
foreach ($books->book as $book) {
$authors = '';
foreach ($book->author as $author) {
$authors .= empty($authors) ? $author : ', ' . $author;
}
printf(
"%s: \"%s\"\nISBN: %s\n\n",
$authors,
$book->title,
$book->isbn
);
}
?>
|
nur bringt mir die Ausgabe nur eine weiße Seite.
Dann ist mir ein Gedanke gekommen. In meinem ersen geposteten Code ....
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>XML-Datei auslesen und anzeigen</title>
</head>
<body>
<?php
$daten = file_get_contents("test/xml"); // Datei einlesen
$daten = explode("<Player>" , $daten); // Inhalt in ein Array zerlegen
for ($zaehler = 1; $zaehler < count($daten); $zaehler++) {
ereg("<Name>(.*)</Name>" , $daten[$zaehler] , $name);
ereg("<GameVersion>(.*)</GameVersion>" , $daten[$zaehler] , $game);
ereg("<Type>(.*)</Type>" , $daten[$zaehler] , $typ);
echo "$name[1] ,$game[1] ,$typ[1] </br>";
}
?>
</body>
</html>
|
... besteht da nicht die folgende Möglichkeit ???
Der Inhalt wird doch in einem array zerlegt. In meinem Fall sind es je Player 3 Angaben. Wenn also 3 Player uff Server sind ist logisch die Ausgabe = 9. Jetzt mein Gedankenblitz von der Toilette
...Man Teilt die 9 durch 3 und gibt an das Ausgabe 1,2 und 3 = Player 1; Ausgabe 4,5 und 6 =Player 2 ... usw.
Gibt es da eine Möglichkeit? Ich habe mich in einer fölligen Sackgase verrant und stehe im Wals und suche ein Baum
Danke und Gruß General5274
Das mit dem foreach ist doch simple
zuerst $books = simplexml_load_file('books.xml');
und dann print_r($books);
Dann siehste ein Array das lässte per foreach durchlaufen und schon haste alle Daten.
zuerst $books = simplexml_load_file('books.xml');
und dann print_r($books);
Dann siehste ein Array das lässte per foreach durchlaufen und schon haste alle Daten.
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
willst du nur eine zahl haben, als nummerierungsreihenfolge?dann hänge hier:
einfach die Variable $zaehler mit ein denn diese beinhaltet durch deine for schleife einen zähler.. sorry das alles in einer zeile is, ich kann grad kein ENTER mehr machen O_o EDIT: wenigstens gehen die BBCODES noch damit der Code wenigstens den rest von einander trennt lol
|
|
PHP-Quelltext |
1 |
echo "$name[1] ,$game[1] ,$typ[1] </br>";
|
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
Ähnliche Themen
-
Web | Programmierung »-
[PHP] Bilder aus externen Ordner auslesen und anzeigen
(29. September 2010, 15:25)
-
Aktuelle Version [1.6.5] »-
1.6.5 Tabellen auslesen
(12. August 2009, 17:02)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Ein Logging wird zur Verfügung gestellt
(20. Mai 2008, 21:50)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Forum auslesen
(3. März 2008, 19:47)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
welcome-text auslesen
(6. Februar 2008, 15:21)



