php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 5 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 13-11-2006, 01:49
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard Daten aus xml auslesen und per html ausgeben

Ich habe folgende ausgangs daten in einem xml file.

PHP-Code:
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<meinedomain>
    <amateurs>
        <amateur>
            <userid>692</userid>
            <nickname>Baralei</nickname>
            <age>19</age>
            <zip>90</zip>
            <country>de</country>
            <gender>m</gender>
            <regtime>11331037</regtime>
            <hardcore>0</hardcore>
            <description>Beschreibungstext!!!!!!!!!!!</description>
            <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
</amateur>
        <amateur>
            <userid>1994531</userid>
            <nickname>Geile-Ela</nickname>
            <age>30</age>
            <zip>33</zip>
            <country>de</country>
            <gender>w</gender>
            <regtime>11406214</regtime>
            <hardcore>0</hardcore>
            <description>!!!!!!!!!!!!Beschreibungstext!!!!!!!!!!!</description>
            <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
</amateur>
        <amateur>
            <userid>1194</userid>
            <nickname>fan2006</nickname>
            <age>36</age>
            <zip>90</zip>
            <country>de</country>
            <gender>m</gender>
            <regtime>11376017</regtime>
            <hardcore>1</hardcore>
            <description>!!!!!!!!!!!!Beschreibungstext!!!!!!!!!!!</description>
            <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
            <sets>
                <set>
                    <id>10532</id>
                    <kind>pics</kind>
                    <gentime>1141891</gentime>
                    <title>Cambilder</title>
                    <hardcore>1</hardcore>
                    <description>Hier mal Camfotos.</description>
                    <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
                </set>
                <set>
                    <id>9654</id>
                    <kind>pics</kind>
                    <gentime>11412124</gentime>
                    <title>erste Bilder</title>
                    <hardcore>1</hardcore>
                    <description>Viel Spass!</description>
                    <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
                </set>


........................usw


Ich möchte jetzt die xml Datei so auslesen das ich aus den einzelnen angaben eien html Seite gennerieren kann.





Ich möchte folgende Werte in einer liste dann ausgeben, das daraus alle user untereinander mit ihren daten angezeigt werden.



Username = <id> xxxxxx </id>

Art = <kind> xxxxxxxxx</kind>

Anmeldung = <gentime> xxxxxxx</gentime>
Titel = <titel> xxxxx</titel>


.... usw.

+++++++++++++++++++++++++++++++++++


Username = <id> xxxxxx </id>

Art = <kind> xxxxxxxxx</kind>

Anmeldung = <gentime> xxxxxxx</gentime>
Titel = <titel> xxxxx</titel>


.... usw.

+++++++++++++++++++++++++++++++++++++++

usw.


Dies soll natürlich für jeden user aus der xml liste geschehen.

Ich habe hier schon mal mit simplexml_load_file() und var_dump() experimentiert.




PHP-Code:
$xmlurl "amateur.xml";
if (
file_exists($xmlurl)) {
    
$xml simplexml_load_file($xmlurl);

 
$array =   var_dump($xml);
   
} else {
    exit(
'Konnte $xmlurl nicht öffnen.');
}

#print $xml; // n nur  zum testen
// 
for($a=0;$a<count($array);$a++) {
echo 
"array 0".$array[$a++];
echo 
"array 1".$array[$a++];
echo 
"array 2".$array[$a++];
#--------------------
echo "array Last".$array [$a];


Mir ist einfach nicht ganz klar wie ich auf die Objekte zugreifen kann die durch simplexml_load_file() bzw. var_dump() ausgeben werden.


Damit sollte es ja eigendlich machbar sein.

Geändert von schnikemike (13-11-2006 um 02:20 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-11-2006, 02:04
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Im steht doch eigentlich alles zum Thema XML und ansonsten mal

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 13-11-2006, 03:05
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja eigendlich schon.

leider bekomme ich das irgendwie nicht hin.

Laut google und einigen Seiten müsste es so sein.

PHP-Code:
$xmlurl "user.xml";
if (
file_exists($xmlurl)) {
    
$xml simplexml_load_file($xmlurl);

 
$array$xml->userid[0];

   
} else {
    exit(
'Konnte $xmlurl nicht öffnen.');
}

echo 
"Nickname".$array;

Es kommen aber keine ausgaben.

Geändert von schnikemike (13-11-2006 um 03:16 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 13-11-2006, 03:13
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bzw.

Da meine Strucktur des xml files ja anders wie in den meisten Beispielen ist müsste das dann so sein.

Zitat:
<meinedomain>
<amateurs>
<amateur>
<userid>692</userid>
<nickname>Barale</nickname>
PHP-Code:
 $userid$xml->amateurs[0] ->amateur[0] ->userid
Da angeblich bei Elementen mit dem gleichen Namen ein Array daraus wird.

Geht das überhaupt so wie ich es geschrieben habe?

Oder wie greifft man sonst auf das Element " userid" zu?


Ich bin echt am verzweifeln.

Hier nochmal das Script so wie es jetzt ist.

PHP-Code:
if (file_exists($xmlurl)) {
    
$xml simplexml_load_file($xmlurl);


 
$userid $xml->amateurs[0] ->amateur[0] -> userid;

} else {
    exit(
'Konnte $xmlurl nicht öffnen.');
}

echo 
"Nickid".$userid;  { 
Hab hier unter anderem nochmal nachgelesen wer da noch Quellen braucht.

http://www.professionelle-softwareen...simplexml.html

Geändert von schnikemike (16-11-2006 um 19:30 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 16-11-2006, 19:13
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keiner eine idee wie man in aus em xml file die dasten aus userid auslesen kann?


Ich festgestellt das man die wohl besser nicht mit simplexml_load_file machen sollte da die orginal Datei Komplett eingelesen wird (29 MB).

Das ist ein enormer verbrauch an resourcen.


Oder gibt es da eine möglichkeit die Datei nur teilweise auzulesen?


Habe darüber nichts gefunden.

LG
Mit Zitat antworten
  #6 (permalink)  
Alt 16-11-2006, 23:57
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Oder gibt es da eine möglichkeit die Datei nur teilweise auzulesen?
Kennst du fopen() und fgets() ? Mit diesen beiden kannst du im Zusammenspiel mit einer Schleife sehr einfach bestimmen, wieviele Zeilen der Datei ausgelesen werden sollen. Dann noch mittels eines preg_match() die gewünschten Teile aus der Zeile ausschneiden und was auch immer du damit machen willst machen.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #7 (permalink)  
Alt 17-11-2006, 00:14
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja kenne ich.


Mir wurde nur immer gesagt ich solle für die auswertung der xml File

simplexml_load_file() verwenden.

Naja werd das wohl dann doch anders lösen.

LG und danke für die Antwort.
Mit Zitat antworten
  #8 (permalink)  
Alt 17-11-2006, 02:16
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Mir wurde nur immer gesagt ich solle für die auswertung der xml File
simplexml_load_file() verwenden.
Wenn du aber nicht das ganze File einlesen willst, dann wohl eher nicht...

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #9 (permalink)  
Alt 21-11-2006, 12:30
meierhans
 Junior Member
Links : Onlinestatus : meierhans ist offline
Registriert seit: Jun 2005
Beiträge: 105
meierhans ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn man eines dieser Tags(<meinedomain><amateurs><amateur>wegläßt, funktioniert die Ausgabe, seltsam.

foreach($data as $a) {
echo "<tr>";
echo "<td>". $a->userid . "</td>";
echo "<td>". $a->nickname . "</td>";
echo "<td>". $a->age . "</td>";
echo "<td>". $a->country . "</td>";
echo "</tr>";
}
Mit Zitat antworten
  #10 (permalink)  
Alt 21-11-2006, 18:10
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde mit XSL das XML in HTML Transformieren.
Dafür ist XSL genau da, aber da die Datei 29 MB Gross ist, weiss ich halt auch nicht so recht. Ausgabe Cachen?

mfg Roland
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #11 (permalink)  
Alt 22-11-2006, 01:39
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von meierhans
[B]Wenn man eines dieser Tags(<meinedomain><amateurs><amateur>wegläßt, funktioniert die Ausgabe, seltsam.

Du meinst also statt

<meinedomain><amateurs><amateur>



nur

<meinedomain><amateurs>

?
Mit Zitat antworten
  #12 (permalink)  
Alt 22-11-2006, 01:42
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Rolandbar
Ich würde mit XSL das XML in HTML Transformieren.
Dafür ist XSL genau da, aber da die Datei 29 MB Gross ist, weiss ich halt auch nicht so recht. Ausgabe Cachen?

mfg Roland
ja das wäre auch ne möglichkeit. aber auch da ist wie du schon sagst das Problem mit der Dateigrösse.
Mit Zitat antworten
  #13 (permalink)  
Alt 27-11-2006, 12:37
schnikemike
 Newbie
Links : Onlinestatus : schnikemike ist offline
Registriert seit: May 2005
Beiträge: 86
schnikemike ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist die Lösung.


$id_nummer = $xml->amateurs->amateur[$a]->userid;



das gesammte script ist mitlerweile so gros das ich es hier nicht Poste will aber wer es haben will soll sich einfach mal melden.


Daten aus xml File auslesen und geordnet in einer html Seite ausgeben.


In meienm fall wird für jeden User eine Kleines Profil mit vorschaubild erstellt.
Mit Zitat antworten
  #14 (permalink)  
Alt 01-12-2006, 22:52
furuha
 Newbie
Links : Onlinestatus : furuha ist offline
Registriert seit: Dec 2006
Beiträge: 8
furuha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hätte gerne das Script und würde es dann auch gerne ein bischen umschreiben.

Geändert von furuha (19-06-2008 um 13:15 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 02-12-2006, 16:58
furuha
 Newbie
Links : Onlinestatus : furuha ist offline
Registriert seit: Dec 2006
Beiträge: 8
furuha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ansonsten kann mir auch einfach wer helfen(lerne seid 2 tagen php...):

ich will xml files auslesen und in einer liste/tabelle darstellen die wie folgt aussehen:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<gwteambuild version="1.0">
  <gwplayerbuild version="1.0">
    <classsetup primary="Warrior" secondary="Necromancer" />
    <skillbar>
      <skill>Sever Artery</skill>
      <skill>Gash</skill>
      <skill>Final Thrust</skill>
      <skill>"Charge!"</skill>
      <skill>Flurry</skill>
      <skill>Healing Signet</skill>
      <skill>Plague Touch</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Ranger" secondary="Mesmer" />
    <skillbar>
      <skill>Poison Arrow</skill>
      <skill>Barbed Arrows</skill>
      <skill>Distracting Shot</skill>
      <skill>Concussion Shot</skill>
      <skill>Snare</skill>
      <skill>Troll Unguent</skill>
      <skill>Distortion</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Ranger" secondary="Elementalist" />
    <skillbar>
      <skill>Burning Arrow</skill>
      <skill>Apply Poison</skill>
      <skill>Distracting Shot</skill>
      <skill>Throw Dirt</skill>
      <skill>Snare</skill>
      <skill>Troll Unguent</skill>
      <skill>Storm Chaser</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Ranger" secondary="Mesmer" />
    <skillbar>
      <skill>Screaming Shot</skill>
      <skill>Savage Shot</skill>
      <skill>Distracting Shot</skill>
      <skill>Pestilence</skill>
      <skill>Lacerate</skill>
      <skill>Troll Unguent</skill>
      <skill>Mantra of Resolve</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Necromancer" secondary="Monk" />
    <skillbar>
      <skill>Tainted Flesh</skill>
      <skill>Rotting Flesh</skill>
      <skill>Bitter Chill</skill>
      <skill>Consume Corpse</skill>
      <skill>Blood Ritual</skill>
      <skill>Heal Party</skill>
      <skill>Extinguish</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Monk" secondary="Mesmer" />
    <skillbar>
      <skill>Blessed Light</skill>
      <skill>Gift of Health</skill>
      <skill>Reversal of Fortune</skill>
      <skill>Guardian</skill>
      <skill>Spirit Bond</skill>
      <skill>Signet of Devotion</skill>
      <skill>Inspired Hex</skill>
      <skill>Drain Enchantment</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Monk" secondary="Mesmer" />
    <skillbar>
      <skill>Reversal of Fortune</skill>
      <skill>Guardian</skill>
      <skill>Mend Condition</skill>
      <skill>Protective Spirit</skill>
      <skill>Contemplation of Purity</skill>
      <skill>Mantra of Recall</skill>
      <skill>Inspired Hex</skill>
      <skill>Divine Boon</skill>
    </skillbar>
  </gwplayerbuild>
  <gwplayerbuild version="1.0">
    <classsetup primary="Ranger" secondary="Mesmer" />
    <skillbar>
      <skill>Smoke Trap</skill>
      <skill>Barbed Trap</skill>
      <skill>Flame Trap</skill>
      <skill>Storm Chaser</skill>
      <skill>Dodge</skill>
      <skill>Troll Unguent</skill>
      <skill>Distortion</skill>
      <skill>Resurrection Signet</skill>
    </skillbar>
  </gwplayerbuild>
</gwteambuild>
das fett geschriebene soll auch ausgegeben werden. da natürlich immer weiter habs nur einmal makiert.

wäre nett wenn das jemand für mich machen kann.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37 Uhr.