Ik heb een database gemaakt met MySQL, maar nu wil ik daar een XML-bestand uit halen met php. Hoe moet ik dit aanpakken? Ik heb geprobeerd in het xml bestand de print optie te gebruiken, maar dit werkt niet zoals in html... helaas...
Wat doet een xml-bestand in de database?

Persoonlijk zou ik dat bestand eerst keurig opsplitsen in alle verschillende soorten data, op basis daarvan een datamodel maken en dan de boel keurig in de database wegschrijven. XML in de database zetten, maakt de data uitermate slecht toegankelijk, je kunt dan beter kiezen om de boel gewoon als een xml-file in een directory te zetten. Dat is een stuk eenvoudiger beschikbaar en de database heeft met jouw huidige opzet toch geen toegevoegde waarde.
ik denk dat hij bedoeld dattie een XML dump van zn database wil hebben
nee, klopt.. maar het is een oefenopdracht. Ik heb met een html/php pagina data in een database gestopt, nu moet ik deze er weer uithalen. Maar deze data moet in een xml pagina krijgen.. en dan xslt weer in html zetten.. Heel omslachtig natuurlijk.. maar zo moet ik het doen...
idd, ik moet een xml dump regelen... Hoe doe ik dat?
Het blijft een slecht plan om xml in de database op te slaan, je kunt beter een xml-file maken op basis van de gegevens die in de database staan. Daar kun je bv. de SAX-parser voor gebruiken, zie php.net

Verder zou het volgens mij mogelijk moeten zijn om een header mee te geven aan de xml-data die jij uit de database haalt. Wanneer je hierin zet dat het gaat om xml, dan zal de browser dit ook als xml gaan behandelen.

<?php
header('Content-Type: text/xml');

// edit: afhankelijk van de character-set kun je ook de volgende nodig hebben:
header('Content-Type: application/xml');
?>
Hier een voorbeeldje met de header, wanneer je dit gaat testen in FireFox, zie je de verschillen. Met header wordt het als XML behandeld, zonder de header gewoon als een stuk tekst.

<?php
$string = "<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM \"/just/a/test.dtd\" [
<!ENTITY plainEntity \"FOO entity\">
<!ENTITY systemEntity SYSTEM \"xmltest2.xml\">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols=\"3\">
    <tbody>
     <row><entry>a1</entry><entry morerows=\"1\">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id=\"about\">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
  </para>
 </section>
</chapter>";

header('Content-Type: text/xml'); // haal deze regel maar eens weg en zie het verschil
echo $string;
?>
Ik wil ook een xml bestand uit mijn database halen, maar ik weet niet hoe dat moet. Hoe kan ik een xml file uit mijn mysql database halen?

Reageren