[PHP] XML-output uitlezen dat gegenereerd wordt door PHP

Pagina: 1
Acties:
  • 506 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • .Alex
  • Registratie: Augustus 2005
  • Laatst online: 01-08-2022
Hoi allemaal,

Ik ben op zoek naar een functie waarmee ik een xml-output kan uitlezen die wordt gegenereerd door een PHP-bestand die op dezelfde server staat. Op zich zou ik dan fopen() oid kunnen gebruiken maar daarmee lees ik ook de PHP-code in, en dat is niet de bedoeling.

Hoe lees ik XML-output in die gegenereerd wordt door PHP?

Voorbeeld:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$iets = "bla";

header('Content-Type: text/xml');

echo('<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>');

?>
<xmldinges>
<bla><?=$iets?></bla>
</xmldinges>

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 19-09 21:26

DataGhost

iPL dev

Je kan een fopen() doen naar de URL, maar dat is wel extreem lelijk. Waarom kan je het bestand niet gewoon includen en direct alles aanspreken? (desnoods met output buffering)

Acties:
  • 0 Henk 'm!

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 21-09 10:08

Spockz

Live and Let Live

Maak van die code een functie en roep die aan op de plek waar jij hem nodig hebt?

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Acties:
  • 0 Henk 'm!

  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08 20:16
Met simpleXML?

Dus simplexml_load_file()?

Wel PHP 5 voor nodig.

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
DOM, DOMXML, SimpleXML, fopen

Acties:
  • 0 Henk 'm!

  • .Alex
  • Registratie: Augustus 2005
  • Laatst online: 01-08-2022
Lees je dan ook niet de PHP code in die in hetzelfde bestand staat?

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

.Alex schreef op woensdag 22 augustus 2007 @ 13:16:
[...]

Lees je dan ook niet de PHP code in die in hetzelfde bestand staat?
Nopz, PHP verlaat de server nooit voor het is geparsed (mits PHP parsing aanstaat natuurlijk :+ )

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 19-09 21:26

DataGhost

iPL dev

Snake schreef op woensdag 22 augustus 2007 @ 13:18:
[...]

Nopz, PHP verlaat de server nooit voor het is geparsed (mits PHP parsing aanstaat natuurlijk :+ )
Het bestand staat dan ook op dezelfde server. Even goed lezen, mensen!

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

DataGhost schreef op woensdag 22 augustus 2007 @ 13:20:
[...]

Het bestand staat dan ook op dezelfde server. Even goed lezen, mensen!
Dan doe je iets fout met je gedachtengang, XML is voor het transporteren van data tussen 2 sites/dbms'en oid.

Als je op dezelfde server het wilt inlezen, kan je beter rechtstreeks het op de database inlezen, anders creeer je teveel overhead.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • .Alex
  • Registratie: Augustus 2005
  • Laatst online: 01-08-2022
Snake schreef op woensdag 22 augustus 2007 @ 13:23:
[...]

Dan doe je iets fout met je gedachtengang, XML is voor het transporteren van data tussen 2 sites/dbms'en oid.

Als je op dezelfde server het wilt inlezen, kan je beter rechtstreeks het op de database inlezen, anders creeer je teveel overhead.
Ik gebruik het ook bij wat AJAX-functies dus ik heb het bestand gewoon nodig. Ik dacht dat het handig zou zijn als ik van hetzelfde bestand gebruik maak in m'n PHP-code. Het is misschien inderdaad omslachtig maar daarom zijn tips ook welkom natuurlijk ;)

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
.Alex schreef op woensdag 22 augustus 2007 @ 13:16:
[...]

Lees je dan ook niet de PHP code in die in hetzelfde bestand staat?
Dat kan inderdaad gebeuren via de load (valkuil om op te letten). Om dit te omzeilen, maak je een functie om de pagina in je outputbuffer te lezen. Dat sla je op in een string (return) en de outputbuffer die je gecreeert heb wis je. Die string van de ingelezen file kun je in je DOM laden.

Mogelijk kan het ook simpeler.

Acties:
  • 0 Henk 'm!

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 21-09 10:08

Spockz

Live and Let Live

Het kan zijn dat ik het doel verkeerd begrijp hoor. Maar je wilt in feite op twee verschillende plekken dezelfde XML data hebben.

Als je deze xml door een functie laat genereren dan kan je die functie aanroepen in het bestand waar je de code uit de SP hebt staan en op andere plek waar je die XML weer nodig hebt. Om performance redenen kan je dat natuurlijk cachen dat je 1x de XML genereert en een ID bijhoudt waarmee je die XML code later weer op kunt vragen.

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Acties:
  • 0 Henk 'm!

  • .Alex
  • Registratie: Augustus 2005
  • Laatst online: 01-08-2022
Spockz schreef op woensdag 22 augustus 2007 @ 13:50:
Het kan zijn dat ik het doel verkeerd begrijp hoor. Maar je wilt in feite op twee verschillende plekken dezelfde XML data hebben.

Als je deze xml door een functie laat genereren dan kan je die functie aanroepen in het bestand waar je de code uit de SP hebt staan en op andere plek waar je die XML weer nodig hebt. Om performance redenen kan je dat natuurlijk cachen dat je 1x de XML genereert en een ID bijhoudt waarmee je die XML code later weer op kunt vragen.
Goed punt. Eens! Thanks!

Ach, moeilijk denken is ook een kunst O-) (Dat rechtvaardigt mijn denkwijze enigszins ;))
Pagina: 1