J'avais besoin d'extraire beaucoup de données d'une base et de générer un flux xml en retour (pratique pour la mise en forme) et comme il ne faut surtout pas se planter dans l'écriture d'un xml, des petites fonctions à base de string me paraissaient suffisantes, j'ai quand même regardé sur le net, et c'est tellement simple que je ne l'ai pas trouvé (enfin ça existe ptet mais pas sur ce site apparemment....)
Les fonctions prennent en entrée le flux string et retourne la chaîne modifiée, elles initient le doc, permettent d'ajouter une dtd, un stylesheet ainsi que l'ouverture/fermeture de balises ainsi qu'une simple ligne tag/value : on ne peut pas faire plus simple, le code serait ptet mieux avec plein de fonctions que je connais pas en PHP mais ça fonctionne.
Les voici :
Source / Exemple :
<?php
function startXmlDoc($xml)
{
$xml.="<?xml version='1.0' encoding='UTF-8'?>";
return $xml;
}
function addSystemDTD($xml, $DTDname, $DTDFile)
{
$xml.="<!DOCTYPE ".$DTDname." SYSTEM '".$DTDFile."'>";
return $xml;
}
function addStylesheet($xml, $xsl)
{
$xml.="<?xml-stylesheet href='".$xsl."' type='text/xsl'?>";
return $xml;
}
function startXmlElement($xml, $tag)
{
$xml.="<".$tag.">";
return $xml;
}
function endXmlElement($xml, $tag)
{
$xml.="</".$tag.">";
return $xml;
}
function addXmlValue($xml, $tag, $value)
{
$xml.="<".$tag.">".$value."</".$tag.">";
return $xml;
}
?>
Conclusion :
Evidemment, vous pourriez largement améliorer selon vos besoins : gestion encoding, attributs, balise simple ...
C'est une base en attendant, et moi ça me sert bien !! j'espère que ce sera pareil pour vous !
A+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.