Bonjour à tous,
je n'ai pas trouvé d'aide sur le net à part :
http://www.php.net/manual/fr/ref.simplexml.php
Pourriez-vous me dire :
- s'il est possible de créer un fichier XML à partir d'un WXS (W3C XML
Schema) ? Mon script "consulterait" mon WXS, cela me permettrait de
"générer" un formulaire qui se mettrait à jour malgré la modification d'un
élément de mon WXS. Cela me permettrait par exemple de générer
automatiquement des listes déroulantes à partir de mes listes de choix
(exemple : M. ou Mme ou Mlle) ;
- comment est-il possible de modifier un fichier XML existant ? Voici un
extrait de mon code, mais il ne veut pas modifier mon fichier XML, alors que
la fonction "asXML()" renvoit bien "true" ??? Donc mon script "pense" que le
fichier XML a bien été modifié, alors que ce n'est absolument pas le cas !
---------------------------------------------------------------------------------
Extrait de code :
---------------------------------------------------------------------------------
<?php
session_start();
if ((!empty($_POST['nom'])) && (!empty($_POST['prenom'])) &&
(!empty($_POST['date_naiss'])) && (!empty($_POST['lieu_naiss'])) &&
(!empty($_POST['depart'])) && (!empty($_POST['nation'])) &&
(!empty($_POST['statut'])) && (!empty($_POST['numero'])) &&
(!empty($_POST['voie'])) && (!empty($_POST['cp'])) &&
(!empty($_POST['ville'])) && (!empty($_POST['pays'])) &&
(!empty($_POST['tel'])) && (!empty($_POST['port'])) &&
(!empty($_POST['fax'])) && (!empty($_POST['courriel']))) {
function supprAccents($chaine) {
return(strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"));
}
$fic = "id_".$_SESSION['num'].".xml";
if (file_exists($fic)) {
$xml = simplexml_load_file($fic);
}
else {
echo "Impossible d'ouvrir ce fichier XML.";
}
$xml->PROFIL->IDENTITE->CIVILITE = utf8_encode($_POST['civilite']);
$xml->PROFIL->IDENTITE->NOM = utf8_encode(strtoupper($_POST['nom']));
$xml->PROFIL->IDENTITE->PRENOM = utf8_encode(ucfirst($_POST['prenom']));
$xml->PROFIL->COORDONNEES->COURRIEL =
utf8_encode(strtolower(supprAccents($_POST['courriel'])));
$xml->PROFIL->PRESENTATION = utf8_encode($xml->PROFIL->PRESENTATION);
for($i=0 ; $i<4 ; $i++) {
$xml->CV->INFOS_DIVERSES->DIVERS[$i] =
utf8_encode($xml->CV->INFOS_DIVERSES->DIVERS);
}
$ok = $xml->asXML();
// if (($xml->asXML($fic)))
if ($ok == false)
{
echo "
<script language=\"JavaScript\">
window.alert(\"Une erreur est survenue lors de la
modification, merci de recommencer.\");
history.go(-1);
</script>
";
}
else {
echo "
<script language=\"JavaScript\">
window.alert(\"Modification du CV effectuée.\");
history.go(-1);
</script>
";
}
}
else {
echo "
<script language=\"JavaScript\">
window.alert(\"Attention, vous devez remplir tous les
champs.\");
history.go(-1);
</script>
";
}
?>
---------------------------------------------------------------------------------
Cordialement,
HUCHET Guillaume.
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Jul 6 12:40:58 2006