Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- XML Datei über PHP in Seite einbinden (http://www.informatikerboard.de/board/thread.php?threadid=1260)


Geschrieben von LA am 10.08.2012 um 22:06:

  XML Datei über PHP in Seite einbinden

Meine Frage:
Wie kann ich eine EXTERNE XML Datei über PHP in meine Seite einbauen?
Gibt es dazu ein fertiges PHP-Script?

Meine Ideen:
.



Geschrieben von Karlito am 10.08.2012 um 22:22:

 

Hallo,

ich denke hier findest Du alles was du dafür brauchst.

Außerdem würde ich Dir folgende Lektüre empfehlen:


Wenn Du noch Verständnisfragen hast, kannst du diese hier gerne stellen.

Edit: Ich hoffe ich habe den Punkt getroffen, da aus deiner Beschreibung nicht hundertprozentig klar wird, was Du erreichen willst. Vielleicht ist ein einfaches Include schon das was du brauchst...

Viele Grüße.

Karlito



Geschrieben von LA am 11.08.2012 um 22:34:

 

Ich habe eine Seite und möchte in Form einer Tabelle die Daten aus einer externen XML Datei auflisten. Sprich auf Server A liegt eine XML Datei und
ich habe auf meiner Seite ein Bereich wo die Daten, welche in der XML Datei sind aufgelistet werdne sollen. Das würde ich gerne über PHP lösen.

Ich will nur wissen, wie ich diese Datei einbinde..
Wie man eine CSS Datei einbindet oder eine Javascript Datei weiß ich wohl noch...
@import url("..../xml.css");
aber wie lautet der "befehl" für .xml?

Deine Links sind bestimmt richtig doch weiß ich nicht wo ich anfangen soll smile



Geschrieben von Karlito am 12.08.2012 um 00:27:

 

Zitat:
Original von LA
aber wie lautet der "befehl" für .xml?


Das gibt es so nicht! Du musst die XML-Daten verarbeiten, damit das geht. Entweder du transfomierst sie mittels XSL oder du liest sie, verarbeitest sie und gibst sie dann mit PHP wieder aus...

Zitat:
Original von LA
Deine Links sind bestimmt richtig doch weiß ich nicht wo ich anfangen soll smile


Lesen ist glaube keine schlechte Idee.

VG,

Karlito



Geschrieben von Karlito am 12.08.2012 um 09:52:

 

Das hier könnte noch helfen:

http://www.tutorials.de/content/474-php5-einfuehrung-xml-mittels-simplexml-und-dom.html

VG,

Karlito



Geschrieben von LA am 18.08.2012 um 09:53:

 

Ok, danke. Ich habe grad Zeit und versuchte das Skript zu entwickeln. Klappt auch soweit.
Allerdings fehlt mir noch einiges an Wissen - vielleicht könnt ihr mir da ein Tipp geben.

Und zwar die XML Datei besteht mehrere Datensätze beinhaltet. So sieht mein Skript aus:

goo.gl/dWWil

die Ausgabe:

goo.gl/LGf0G

Gut, wie man sieht, holt sich das Skript immer den ersten Datensatz.. muss ich das in einer Schleife packen?

Also, wenn ich die komplette XML Datei ausgeben kann, bin ich schon recht weit.

Würde mich über ein paar Tipps freuen!



Geschrieben von Karlito am 18.08.2012 um 10:19:

 

Hi,

schau dir mal das hier an:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
 <?php
    $filename = 'news.xml';
    
    if(file_exists($filename)) {
        $xml = simplexml_load_file($filename);
        if($xml) {
            foreach($xml->news as $news) {
            ?>
        <table>
            <tr>
                <td>Überschrift</td>
                <td><?php echo $news->title ?></td>
            </tr>
            <tr>
                <td></td>
                <td><?php echo $news->description ?></td>
            </tr>
            <tr>
                <td><?php echo date("H:i:s d.m.y", $news->date) ?></td>
                <td><?php echo $news->author ?></td>
            </tr>
        </table>
<?php    
            }
        } else {
            echo '        <p>Die Datei names '. $filename .' konnte nicht geöffnet werden</p>';
        }
    }
?> 

Quelle: http://www.tutorials.de/content/474-php5-einfuehrung-xml-mittels-simplexml-und-dom.html

Da wird eine Schleife verwendet.

VG,

Karlito



Geschrieben von LA am 18.08.2012 um 11:43:

 

Die Seite nutzt ja eine andere Möglichkeit der Ausgabe.. habe es versucht anzupassen.

pastebin.com/u9KQ3J5m

aber läuft nicht! :/



Geschrieben von Karlito am 18.08.2012 um 12:52:

 

Klammerfehler?

Ich vermisse die } der for-schleife...

VG,

Karlito



Geschrieben von LA am 18.08.2012 um 15:22:

 

Top, funktioniert. smile

Erm, zwei kleine Probleme sind jedoch noch übergeblieben.

1) Die XML-Datei liegt nun auf mein Server. Ich will aber über eine externe XML-Datei zugreifen. Jetzt habe ich einfach die URL zur XML angegebn aber dann kann er diese nicht mehr öffnen.

2) Verständnis-Frage: Ich habe nur angegeben: openXMLfile('chart_1.xml');
und egal wo ich das Skript hinschiebe (auch außerhalb der chart_1.xml Datei) sprich in einer anderen Ebene.. das Skript funktioniert trotzdem.

Ich hätte jetzt gedacht, dass Skript muss zusammen mit der xml in einem Ordner sein aber funktioniert ja irgendwie anders. Durchsucht er solange die Ebenen bis er die xml-Datei findet?

Naja es soll ja eh über Extern laufen. Weißt du was ich noch hinzufügen muss damit er die XML-Datei von einen anderen Server einliest? Einfach URL reinschreiben sprich:

openXMLfile('http//: www bsp. de/chart_1.xml'); geht leider nicht.



Geschrieben von Karlito am 18.08.2012 um 15:35:

 

Zitat:
Original von LA
1) Die XML-Datei liegt nun auf mein Server. Ich will aber über eine externe XML-Datei zugreifen. Jetzt habe ich einfach die URL zur XML angegebn aber dann kann er diese nicht mehr öffnen.
...
openXMLfile('http//: www bsp. de/chart_1.xml'); geht leider nicht.


Du musst deine openXmlFile ändern:

code:
1:
2:
3:
4:
5:
6:
...
$content = file_get_contents('http//: www bsp. de/chart_1.xml');
$xmlobj = simplexml_load_string($content)
...

Quelle: http://www.bin-co.com/php/scripts/load/

Zitat:
Original von LA
2) Verständnis-Frage: Ich habe nur angegeben: openXMLfile('chart_1.xml');
und egal wo ich das Skript hinschiebe (auch außerhalb der chart_1.xml Datei) sprich in einer anderen Ebene.. das Skript funktioniert trotzdem.

Ich hätte jetzt gedacht, dass Skript muss zusammen mit der xml in einem Ordner sein aber funktioniert ja irgendwie anders. Durchsucht er solange die Ebenen bis er die xml-Datei findet?


Das weis ich leider nicht. Da müsste ich genauso nachlesen und probieren wie Du...

VG,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH