Beste leden,

Heb me zojuist aangemeld op dit forum omdat ik graag wat hulp wil bij het maken van een connectie met een xml bestand.
Zelf heb ik niet heel veel ervaring met PHP maar begin het te leren (basis dingen).

Zelf heb ik wat xml bestanden in een map staan, in de xml bestanden staan verschillende gegevens.
Nu wil ik als men op een link klikt dat er data uit een xml bestand word gehaald.

De xml bestanden zijn genummerd:

100
1000
10000
enz.

stel ik geef in een link de nummering van de juiste xml file mee hoe kan ik er dan voor zorgen dat er connectie word gemaakt en dat de data uit de xml file word weergegeven?

Wie o wie kan mij hiermee opweg helpen? Dat zou top zijn!

Groetjes Jop
Beste,
dank voor de link!
Echter kom ik er niet goed uit als ik mijn file's erbij pak.

De file structuur wat ik heb is:


<?xml version="1.0" encoding="UTF-8"?>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book>


Stel de file naam is: book1.xml
hoe maak ik php duidelijk met een id code dat hij dan book1 moet laden?

bijvoorbeeld:

Link 1: www.boeken.com/index.php?book=book1
Laad book1.xml
link 2: www.boeken.com/index.php?book=book2
Laad book2.xml

enz.

de boeken staan dan in de root --map--> data--map-->books

Groetjes Jop


Met een GET variabele kun je waardes uit de link halen.

<?php
if(isset($_GET['book'])) {

$file = __DIR__.'/map/data-map/books/'.$_GET['book'].'.xml';

if(file_exists($file)) {

$book = simplexml_load_file($file);
print_r($book);
} else {
echo 'Bestand niet gevonden';
}
}
?>
Je kan iets als dit doen:
if($book->title == $_GET['book']) {
Ik begreep dat je een met book=book1 wou bepalen welk bestand er moest worden ingeladen, zoals mijn voorbeeld.
Uit Aar's voorbeeld en jouw reactie begrijp ik dat je een deel uit een reeds ingeladen XML wilt weergeven.
Beste Michael,

Dat klopt, zoals ik boven aan heb gegeven heb ik meerdere xml bestanden.
Deze zijn genummerd:

book1.xml
book2.xml
book3.xml
enz.

Als ik pagina heb waar links opstaan wil ik dat de php code de juiste file pak en daarvan de informatie toont.

bijvoorbeeld:

www.boeken.com/index.php?book=book1
nu is het de bedoeling dat hij book1.xml laad.

Nu wil ik nog een stapje verder:

Ik maak een pagina www.boeken.com/gerne.php?book=book1
hiervan wil ik het genre boek weten.

de file van book1 ziet er als volgt uit:


<?xml version="1.0" encoding="UTF-8"?>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book> 


De php zou dus nu moet echo-en 'drama'

Als de link verwijst naar book2:
Ik maak een pagina www.boeken.com/gerne.php?book=book2
Moet hij het gerne tonen van boek 2

Gr. Jop

Als je per boek een eigen XML hebt (niet echt geheel handig overigens), dan kan je $book->gerne gewoon echo'en.

Let er wel op dat er in je XML gerne staat, i.p.v. genre.
Dan was mijn code toch meer in de buurt.

<?php
/*
* Geef d.m.v. de url ?book= aan welk boek je wilt laden.
* ?book=book1 laad book1.xml
*/
if(isset($_GET['book'])) {
/*
* ?book is geset. We maken nu een string met het pad en de naam van het boek gevolgd door .xml
*/
$file = dirname(__FILE__).'/books/'.$_GET['book'].'.xml';

/*
* We controleren of dit boek inderdaad in die map voorkomt
*/
if(file_exists($file)) {
/*
* Als het boek voorkomt dan laden we deze in
*/
$book = simplexml_load_file($file);
/*
* en geven het genre weer
*/
echo $book->book_gerne;
} else {
/*
* Als het boek niet kan worden gevonden geven we een melding
*/
echo 'Bestand niet gevonden';
}
}
?>

edit: genre aangepast naar gerne. correct?
Hallo,

Deze topic was ik al heel lang het zoeken!!!

Alleen ziet mijn xml file er iets anders uit omdat deze wordt gegeneerd met een programma.

<article>
<LV_ARTICLES_DESCRIPTIONANDMEASURE>
    <LV_ARTICLES_LANG_NL><![CDATA[TGB 303, DELIVERY &amp; EXPRESS GASKABEL UNIVERSEEL ]]></LV_ARTICLES_LANG_NL>
  </LV_ARTICLES_DESCRIPTIONANDMEASURE>
</article>


Waar de

echo $book->book_gerne; 


staat wat moet ik daar invullen?

echo $article->LV_ARTICLES_DESCRIPTIONANDMEASURE->LV_ARTICLES_LANG_NL->![CDATA[;


Groetjes Yoeri

Reageren