[DOM XML][XSLT] Création d'un document XML avec PHP
Bonjour, voici le code pour générer un fichier xml :
Je vais rechercher toute les news dans la bdd, que je met ensuite dans un fichier xml que j'associe avec une feuille de style xsl.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| $requete = "SELECT NrNouveaute, DATE_FORMAT(Date, '%d-%m-%y') as DateN, Titre, Texte
FROM n8_nouveautes
ORDER BY Date DESC";
$db = new MyDb;
// création du document
$document = new DomDocument();
if ( $results = $db->queryObjectArray($requete) )
{
foreach($results as $row)
{
// on crée l'élément principal <nouveaute>
$nouveaute = $document->CreateElement('nouveaute');
$document->appendChild($nouveaute);
// on ajoute l'élément <nrnouveaute> a <nouveaute>
$nrnouveaute = $document->CreateElement('nrnouveaute');
$nouveaute->appendChild($nrnouveaute);
// et son texte
$txt = $document->CreateTextNode($row['NrNouveaute']);
$nrnouveaute->appendChild($txt);
// on ajoute l'élément <date> a <nouveaute>
$date = $document->CreateElement('date');
$nouveaute->appendChild($date);
// est son texte
$txt = $document->CreateTextNode($row['DateN']);
$date->appendChild($txt);
// on ajoute l'élément <titre> a <nouveaute>
$titre = $document->CreateElement('titre');
$nouveaute->appendChild($titre);
// et son texte
$txt = $document->CreateTextNode($row['Titre']);
$titre->appendChild($txt);
// on ajoute l'élément <texte> a <nouveaute>
$texte = $document->CreateElement('texte');
$nouveaute->appendChild($texte);
// et son texte
$txt = $document->CreateTextNode($row['Texte']);
$texte->appendChild($txt);
}
}
$db->close();
$moteurXslt = new xsltProcessor();
$style = new DomDocument();
$style->load('xsl/nouveautes_index.xsl');
$moteurXslt->importStylesheet($style);
echo $moteurXslt->transformToXml($document); |
Je trouve que d'associer une feuille xsl avec un fichier xml est vrmt bien pr le developpement, code et html sont bien séparé.
Mais je trouve que le code de création d'un document xml est très long.
N'y a t-il pas moyen de raccourcir tout ca ?