xml in php
Op zich gaat alles goed.
Alleen krijg ik een foutmelding op de regel:
(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?
Hoe maak je XML aan?
Misschien is het handiger om hier simpleXML voor te gebruiken. Kijk hiervoor de handleiding op PHP.net.
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...
Code (php)
1
2
3
4
5
6
7
8
9
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 ..
?>
$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
Zoals het al heet. SimpleXML je kunt in een paar regels een simpel XML sheet maken.
Het is mij nog niet gelukt, maar ik denk dat ik wel iets verder kom hiermee.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
?>
// 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
Pholeron schreef op 26.03.2009 12:39:
Mooie tips, maar ze geven precies aan waarom het altijd fout gaat wanneer je handmatig XML gaat zitten aanmaken.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!
- Zorg dat de waarden $valb en $valc ge-escaped worden zodat deze geen mogelijke XML syntax bevatten,
- Gebruik quotes om je attribuut-waarden!
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.
Ik krijg nu netjes een XML bestand te voorschijn in mijn php bestandje.
Opgelost dus!