xml in php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jb bl

jb bl

25/03/2009 10:17:00
Quote Anchor link
Ik wil een xml pagina laten genereren in php.

Op zich gaat alles goed.
Alleen krijg ik een foutmelding op de regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" ?>

(Parse error: syntax error, unexpected T_STRING )

Als ik de 2 vraagtekens weghaal in die regel, dan gaat het wel goed, maar dan wordt het niet als XML gezien. Iemand een tip?
 
PHP hulp

PHP hulp

17/11/2024 19:33:13
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 10:21:00
Quote Anchor link
Hoe maak je XML aan?
 
Jb bl

jb bl

25/03/2009 10:24:00
Quote Anchor link
Het script is alsvolgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

// heleboel html code welke de 2 variabele uit de database genereerd.

?>


<?xml version="1.0" ?>
    <rows>
        <row type=coupon_n>
            <col name=validation><?php echo "$valc"; ?></col>
            <col name=amount><?php echo "$valb"; ?></col>
        </row>
    </rows>
Gewijzigd op 01/01/1970 01:00:00 door jb bl
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 10:30:00
Quote Anchor link
Misschien is het handiger om hier simpleXML voor te gebruiken. Kijk hiervoor de handleiding op PHP.net.
 
Dennis Mertens

Dennis Mertens

25/03/2009 10:59:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? staat ook voor het openen van PHP...
 
Jb bl

jb bl

25/03/2009 11:01:00
Quote Anchor link
Ja dat dacht ik dus ook al, dat het daarmee in conflict komt.

Ik heb net op php.net zitten kijken naar info over simpleXML, maar kom daar totaal niet uit.

Is het mogelijk dat je voor mij een paar eenvoudige regeltjes maakt waarmee ik in php een simpel xml bestandje kan genereren, dan werk ik dat vervolgens zelf wel verder uit, ik heb dus wat hulp nodig om verder te komen...
 
Willem

willem

25/03/2009 11:03:00
Quote Anchor link
Als ik jou was zou ik het op de volgende manier doen. Hier maak je gebruik van de DOM techniek waarmee je gemakkelijk .xml kunt genereren.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $document = new DomDocument("1.0", "UTF-8"); ?>


Voor vragen: http://nl2.php.net/manual/en/book.domxml.php
 
Pieter Jansen

Pieter Jansen

25/03/2009 11:04:00
Quote Anchor link
dat kun je doen door simpleXML

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$xml
= new SimpleXMLElement('<user></user>');
        $xml->addChild('naam_van_node', $waarde); // node toevoegen
        $xml->addChild('naam_van_tweede_node', $waarde); // node toevoegen
        $xml->asXML('users/' . $username . '.xml'); // opslaan als ..


?>


waar <user></user> vervangen wordt door jou <rows></rows>
Gewijzigd op 01/01/1970 01:00:00 door Pieter Jansen
 
Jurgen assaasas

Jurgen assaasas

25/03/2009 11:06:00
Quote Anchor link
Zoals het al heet. SimpleXML je kunt in een paar regels een simpel XML sheet maken.
 
Jb bl

jb bl

26/03/2009 11:45:00
Quote Anchor link
Thanks voor de tips.

Het is mij nog niet gelukt, maar ik denk dat ik wel iets verder kom hiermee.
 
Martijn Wieringa

Martijn Wieringa

26/03/2009 12:39:00
Quote Anchor link
Ik zou kiezen voor:


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

// heleboel html code welke de 2 variabele uit de database genereerd.

$sXmlData = '<?xml version="1.0" ?>
<rows>
    <row type="coupon_n">
        <col name="validation">'
. $valc . '</col>
        <col name="amount">'
. $valb . '</col>
    </row>
</rows>
?>'
;

echo $sXmlData;

?>


Nog enkele tips:
- Zorg dat de waarden $valb en $valc ge-escaped worden zodat deze geen mogelijke XML syntax bevatten,
- Gebruik quotes om je attribuut-waarden!
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
 
Frank -

Frank -

26/03/2009 18:16:00
Quote Anchor link
Pholeron schreef op 26.03.2009 12:39:
Nog enkele tips:
- Zorg dat de waarden $valb en $valc ge-escaped worden zodat deze geen mogelijke XML syntax bevatten,
- Gebruik quotes om je attribuut-waarden!
Mooie tips, maar ze geven precies aan waarom het altijd fout gaat wanneer je handmatig XML gaat zitten aanmaken.

Gebruik DOM of SimpleXML, dan kan het onmogelijk fout gaan. Hiermee maak je altijd correcte XML aan. Je kunt de XML zelfs nog even valideren tegen een XSD, dan weet je ook dat de XML valide is en aan alle regels voldoet. Handmatig XML aanmaken is een recept voor veel problemen.
 
Jb bl

jb bl

27/03/2009 16:03:00
Quote Anchor link
Met het script van Pholeron van gisteren is het mij gelukt.

Ik krijg nu netjes een XML bestand te voorschijn in mijn php bestandje.

Opgelost dus!
 



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.