Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

376 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

29 maart 2024, 14:28:12

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: PHP - XML gegevens ophalen  (gelezen 17002 keer)

0 leden en 1 gast bekijken dit topic.

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
PHP - XML gegevens ophalen
« Gepost op: 9 september 2011, 01:00:43 »
Hallo,

Ik heb een .xml artikelbestand die er ongeveer zo uitziet:

<artikels>
 <artikel>
 <artikelnummer>00001</artikelnummer>
 <beschrijving>tekst......</beschrijving>
 <image>http://link....</image>
 </artikel>

 <artikel>
  <artikelnummer>00002</artikelnummer>
  <beschrijving>tekst......</beschrijving>
  <image>http://link....</image>
  </artikel>
 
...enz
</artikels>

Ik heb een PHP script gemaakt waarin een parser de informatie uit het XML bestand haalt en deze met HTML code in een webpagina toont, geen probleem. Standaard wordt het eerste artikel getoond of met het aanpassen van het script alle artikelen maar dit XML bestand bevat 100 artikelen dus wil ik $_GET gebruiken om slechts 1 artikel weer te geven. De link wordt dan:

http://www.domein.nl/artikel.php?artikel=0001

In het php script heb ik $xmlArtikel = $_GET['artikel']; gezet die de variabele opslaat. Mijn probleem is dus, hoe krijg ik alleen artikel 0001 uit het XML bestand. Heeft iemand een idee of bestaand voorbeeld wat mij verder kan helpen?
Vriendelijke groet,Ruud de Wit

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #1 Gepost op: 9 september 2011, 11:41:15 »
Hoi Ruud,

PHP, da's al weer ff geleden...

De XML data komt eerst in een 2-dimensionale array te staan, bijv. $artikels
$artikels[0][$artikelnummer] wordt dan 0001
$artikels[1][$artikelnummer] wordt dan 0002

Maw, $artikels[artikel][artikel_item] bevat de XML data.

Met $_GET heeft dat toch niet te maken? $_GET verwijst naar formulier-gegevens, zie HIER.


Peter

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #2 Gepost op: 10 september 2011, 01:06:42 »
Hallo Peter,
Citaat
Met $_GET heeft dat toch niet te maken? $_GET verwijst naar formulier-gegevens, zie HIER.
Ik had die link ook al gelezen maar $_GET wordt ook gebruikt om data op te halen middels een variabele. Ik heb een tijdje geleden een PHP script (SOAP) gemaakt die verbinding maakt met een webserves van een elektronica leverancier en daar de XML informatie van een artikel ophaalt. Hier een stukje van dat script:
define('ARTIKELS_WSDL_URI', '[url]https://portal.domain/WebServices/ProductService.asmx?WSDL'[/url]);

$client = new SoapClient(ARTIKELS_WSDL_URI, array('encoding'=>'UTF-8'));

$response = $client->__soapCall('GetProductByName',
    array(
        array(
            'productName' => $_GET['artikel'],
            'langCode'    => 'nl'
        )
    )
);

header('Content-Type: text/html; charset=utf-8'); // UTF-8 (important!)
$xml = $response->GetProductByNameResult->any;

//XML parser!
$xmlData = new SimpleXMLElement($xml);

Het script artikel.php wordt dan vanuit een onlineshop opgevraagd middels de link http://.../artikel.php?artikel=XYZ345 waarna alle info van het artikel XYZ345 wordt weergegeven. Mij probleem is dus hoe ik dit met een kant-en-klaar XML bestand doe die op een webserver staat.
Vriendelijke groet,Ruud de Wit

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #3 Gepost op: 10 september 2011, 13:37:54 »
Hoi Ruud,

Mijn kennis van PHP is nog niet zo groot.
Heb je HIER wat aan?


Peter

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #4 Gepost op: 10 september 2011, 17:37:54 »
Hallo Peter,

Deze info was mij bekend, daarmee kun je live informatie ophalen. De gegevens database (XML-SOAP) is anders als een standaard XML bestand en dat is wat ik nu wil. Ik zoek verder...
Vriendelijke groet,Ruud de Wit

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #5 Gepost op: 10 september 2011, 17:48:47 »
Hoi Ruud,

Citaat
Ik zoek verder...
Oke. Ik zag dat je elders ook al hulp gezocht had.
Als ik het goed begrijp wil je een webpagina bouwen om door de XML lijst te bladeren en telkens maar 1 artikel zien.

Mocht het niet lukken, geef dan een gil en het XML bestand. Misschien komen we er dan uit.


Succes, Peter

Offline fortron

  • Net nieuw
  • *
  • Berichten: 44
  • Geslacht: Man
    • Stichting KUBES, kunst en cultuur voor blinden en slechtzienden
Re: PHP - XML gegevens ophalen
« Reactie #6 Gepost op: 26 september 2011, 09:53:52 »
Heb je al een oplossing gevonden?

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #7 Gepost op: 27 september 2011, 00:55:18 »
Hallo Fortron,
Citaat
Heb je al een oplossing gevonden?
Nee nog niet. Ik heb een PHP scriptje geschreven naar aanleiding van voorbeelden maar die haalt alleen het eerste artikel uit het xml bestand. Ik ben nu aan het zoeken en vooral uitproberen met .asp scripts.

Vriendelijke groet,Ruud de Wit

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #8 Gepost op: 3 oktober 2011, 17:08:51 »
Hallo,

Om deze topic af te sluiten. Ik heb heel veel hulp gekregen van forumlid Fortron die mij geholpen heeft om dit probleem op te lossen. Dit kon niet meer via dit forum omdat er een uitwisseling was van diverse php en xml bestanden. Forton, bedankt voor je hulp!
Vriendelijke groet,Ruud de Wit

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #9 Gepost op: 3 oktober 2011, 20:08:34 »
Hoi Ruud,

Kun je nog even in het kort aangeven wat de oplossing is.


Peter

Offline RuudDeWit

  • Sysop
  • *****
  • Berichten: 885
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #10 Gepost op: 19 oktober 2011, 00:15:00 »
Hallo Peter,

Ik kan niet zeggen dat het een simpele oplossing was maar in eerste instantie heeft Fortron mij een php script opgestuurd waarmee je de informatie uit een xml bestand haalt en eerst gezocht wordt op het artikelnummer en daarna alleen die informatie toont. Omdat het erg traag werkte, er moet immers een xml bestand van 42 Mb doorgezocht worden, heeft hij een script gemaakt die de xml gegevens eerst in een MySql database plaatst. Daarna wordt het php script gebruikt om de betreffende artikelgegevens uit de database te halen en in een html pagina weer te geven.

Een knap stukje programmeer werk, Ik had er zelf niet uitgekomen.
Vriendelijke groet,Ruud de Wit

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: PHP - XML gegevens ophalen
« Reactie #11 Gepost op: 19 oktober 2011, 18:20:22 »
Hoi Ruud,

Citaat
Omdat het erg traag werkte, er moet immers een xml bestand van 42 Mb doorgezocht worden, heeft hij een script gemaakt die de xml gegevens eerst in een MySql database plaatst.
Het is mij duidelijk. 42MB data is inderdaad heel wat om door te spitten.
Nette oplossing!


Peter