Database gegevens met XML genereren

Status
Niet open voor verdere reacties.

Seltaeb

Gebruiker
Lid geworden
13 feb 2007
Berichten
21
Hallo,

Om maar even meteen te beginnen: Ik ben maar een beetje bekend met XML, weet hoe ik een simple XML file maak ala:
<note>
<to>Jan</to>
<from>bastiaan</from>
<body>Blablablabla</body>
</note>

Maar nu wil ik gegevens uit mijn database halen en die in een XML file stoppen en die in mijn broser laten zien. Hoe kan ik dit het beste doen? (Ik ben erg goed bekend met php, html, xhtml enz, maar nog nooit wat met (Simple)XML gedaan)

Als iemand mij zou kunnen helpen, alvast heel erg bedankt!
 
Ik neem aan dat je gebruik maakt van MySQL?

Ik heb dit script voor een RSS gebruikt, het principe er achter is hetzelfde. Er komt een XML-bestand uit. Beetje aanpassen lijkt mij voldoende.

Let wel: dit maakt geen nieuwe XML-bestand aan. Het laat alleen een PHP-bestand zich gedragen als een XML-bestand.
PHP:
<?php 
header("Content-Type: text/xml;charset=utf-8");
echo'<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
  ';

require("config.php");
$newsQuery = "SELECT nid, title, date, intro FROM news ORDER BY date DESC";
$newsResult = mysql_query($newsQuery);
$phpversion = phpversion();
echo'
    <title>Nieuwsberichten David Cup</title>
    <link>'. ROOT .'</link>
    <description>Het laatste nieuws over de David Cup</description>
    <language>nl</language>
    <generator>PHP/'. $phpversion .'</generator>
';
while($newsRow = mysql_fetch_array($newsResult)) {
   $description = cleanText($newsRow['intro']);
   $pubDate = gmdate("D, d M Y H:i:s \+0100", $newsRow['date']);
  echo'

      <item>
         <title>'. $newsRow['title'] .'</title>
         <link>'. ROOT .'index.php?nid='. $newsRow['nid'] .'</link>
         <description>'. $description .'</description>
         <pubDate>'. $pubDate .'</pubDate>
      </item>';

}
echo'
  </channel>
</rss>';
?>
 
Bedankt, maar het is niet helemaal wat ik zoek.
Ik zal het wat uitgebreider uitleggen. Ik heb een class ManageBooks waarin ik gegevens van een boek oproep. Nu wil ik die gegevens in mijn class XML krijgen en die dan showen met XML.
Dit is de query waar ik mijn gegevens uit de DB haal en in een query stop.
PHP:
public function getBookData(){
    try{
        $oPDO = new PDO("mysql:dbname=xxx;host=xxx", "xxx", "xxx" );
        $oPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
            $sSql ="SELECT id, Titel, Isbn, Auteur, Omschrijving FROM tbl_books WHERE id = '1'";
	$rResult = $oPDO->query($sSql);
	while($aRow = $rResult->fetch(PDO::FETCH_ASSOC)){
	    $this->m_aBookData['id'] = $aRow['id'];
	    $this->m_aBookData['Titel'] = $aRow['Titel'];
	    $this->m_aBookData['Isbn'] = $aRow['Isbn'];
	    $this->m_aBookData['Auteur'] = $aRow['Auteur'];
	    $this->m_aBookData['Omschrijving'] = $aRow['Omschrijving'];
    }
	    return $this->m_aBookData;
	        $oPDO = NULL;
	           }catch(PDOException $oError){
                               echo $oError->getMessage();
	}
}

Wat ik nu zeg maar wil doen is een class XML extended maken van Class ManageBooks.
PHP:
class XML extends ManageBook{
	
	public function __construct()
	{
	}
	
	public function showXML(){
		$objDOM = new DOMDocument();
		echo $objDOM->saveXML();
	}
	
	
}

Zoals dit, alleen hoe zet ik die array met die query om naar XML in mijn XML class?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan