php gebruiken als xml

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen de wilde

Jeroen de wilde

10/07/2020 23:26:08
Quote Anchor link
Beste,

Ik wil mijn php bestand gebruiken als xml data.
als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $verplaatsing; ?>
toevoeg loopt het fout.
als ik geen php gebruik werkt mijn xml.php perfect.

Hopelijk kunnen jullie me helpen.
alvast dank

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<?php $verplaatsing = "php input"; ?>
<verplaatsingen>
  <match category="verplaatsing">
    <title lang="nl"><?php echo $verplaatsing; ?></title>
    <datum>1/1/2021</datum>
    <tijd>16:00</tijd>
    <inschrijven>ja</inschrijven>
  </match>
</verplaatsingen>
 
PHP hulp

PHP hulp

26/10/2020 19:38:25
 
- Ariën -
Beheerder

- Ariën -

10/07/2020 23:31:44
Quote Anchor link
Wat gaat er fout?
Wat zegt de XML?
Hoe valideert deze?
 
Jeroen de wilde

Jeroen de wilde

10/07/2020 23:37:03
Quote Anchor link
ik krijg een HTTP ERROR 500 op mijn xml.php
 
- Ariën -
Beheerder

- Ariën -

10/07/2020 23:46:58
Quote Anchor link
Ook weer lekker duidelijk deze avond :-P
Check je error-logs even, die vertellen vast en zeker wat meer.
 
Thomas van den Heuvel

Thomas van den Heuvel

10/07/2020 23:50:38
Quote Anchor link
Je zou de instelling short_open_tag uit kunnen zetten, of gewoon simpelweg de eerste XML-regel kunnen echo'en. Volgens mij worden zo meestal XML-bestanden opgebouwd in PHP.

Tevens zou je in PHP een header mee kunnen sturen om te benadrukken dat het een XML-bestand betreft, ook al heeft het bestand (waarschijnlijk) een PHP-extentie.

Oftewel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// geef aan dat de inhoud XML betreft
header('Content-Type: application/xml; charset=UTF-8');

// echo de openingslijn om compatibiliteitsproblemen te voorkomen
echo '<?xml version="1.0" encoding="UTF-8"?>';
$myValue = ' ... some PHP value ... ';
?>

<verplaatsingen>
    <match category="verplaatsing">
        <title lang="nl"><?php echo $myValue; ?></title>
        <datum>1/1/2021</datum>
        <tijd>16:00</tijd>
        <inschrijven>ja</inschrijven>
    </match>
</verplaatsingen>
Gewijzigd op 10/07/2020 23:53:21 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

11/07/2020 00:03:52
Quote Anchor link
Wat Thomas zegt is zeker een goed idee.
Maar je zult de foutmelding toch echt in de error_log moeten zoeken.
Gewijzigd op 11/07/2020 00:04:06 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

11/07/2020 00:08:33
Quote Anchor link
Er zijn volgens mij recent enkele topics voorbij gekomen over HTTP 500 (Internal Server) Errors.

Kun je de foutmelding niet gewoon op je scherm krijgen door het melden + weergeven van fouten als volgt in te stellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// voor ontwikkeling, testen en debugging
error_reporting(E_ALL);
ini_set('display_startup_errors', true);
ini_set('display_errors', 'stdout');
?>

Als je dan nog steeds een blank scherm / HTTP 500 errors krijgt dan betreft het 9 van de 10 gevallen een syntax (type) fout (denk ik?) in welk geval het misschien een idee is om een fatsoenlijke editor te gaan gebruiken :p.

(ingeval van het opbouwen van een XML-bestand biedt het bovenstaande weinig soelaas :))
Gewijzigd op 11/07/2020 00:13:32 door Thomas van den Heuvel
 
Jeroen de wilde

Jeroen de wilde

11/07/2020 13:36:55
Quote Anchor link
Bedankt voor de tips en voor de voorbeelden.
ik heb nu onderstaande code gebruikt.
nu komt alles goed in de php maar krijg ik de melding: This XML file does not appear to have any style information associated with it. The document tree is shown below.


Thomas van den Heuvel op 10/07/2020 23:50:38:
Je zou de instelling short_open_tag uit kunnen zetten, of gewoon simpelweg de eerste XML-regel kunnen echo'en. Volgens mij worden zo meestal XML-bestanden opgebouwd in PHP.

Tevens zou je in PHP een header mee kunnen sturen om te benadrukken dat het een XML-bestand betreft, ook al heeft het bestand (waarschijnlijk) een PHP-extentie.

Oftewel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// geef aan dat de inhoud XML betreft
header('Content-Type: application/xml; charset=UTF-8');

// echo de openingslijn om compatibiliteitsproblemen te voorkomen
echo '<?xml version="1.0" encoding="UTF-8"?>';
$myValue = ' ... some PHP value ... ';
?>

<verplaatsingen>
    <match category="verplaatsing">
        <title lang="nl"><?php echo $myValue; ?></title>
        <datum>1/1/2021</datum>
        <tijd>16:00</tijd>
        <inschrijven>ja</inschrijven>
    </match>
</verplaatsingen>
 
Thomas van den Heuvel

Thomas van den Heuvel

11/07/2020 14:54:52
Quote Anchor link
Jeroen de wilde op 11/07/2020 13:36:55:
nu komt alles goed in de php maar krijg ik de melding: This XML file does not appear to have any style information associated with it. The document tree is shown below.

Dit betekent dat de XML verder geen structurele of andere fouten heeft. Het feit dat het document geen "XML stylesheet" heeft is niet erg. Dit is enkel een melding van de browser die een poging doet om de data in de XML op te maken zodat deze makkelijker leesbaar is voor menselijke gebruikers. Maar meestal wordt (oa) XML gebruikt om informatie uit te wisselen tussen machines, en dan is zo'n opmaak dus niet (per se) nodig.
Gewijzigd op 12/07/2020 00:23:15 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.