PARSER UN FICHIER XML AVEC DOMXML ET LE METTRE EN FORME AVEC XSLT

Signaler
Messages postés
91
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
5 août 2005
-
Messages postés
3
Date d'inscription
samedi 11 décembre 2004
Statut
Membre
Dernière intervention
6 mars 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19762-parser-un-fichier-xml-avec-domxml-et-le-mettre-en-forme-avec-xslt

Messages postés
3
Date d'inscription
samedi 11 décembre 2004
Statut
Membre
Dernière intervention
6 mars 2007

Faut que tu installe le module domxml :) regarde dans le menu d'easyphp ;)
Messages postés
13
Date d'inscription
samedi 10 mai 2003
Statut
Membre
Dernière intervention
14 mai 2007

Salut
J'utilise easyphp1.8, mais il me met une erreur
"Fatal error: Call to undefined function: domxml_open_file()"
j'ai aussi tester avec Wamp5 et tjrs la meme erreur
Qu'est ce que je peut faire pour que ca fonctionnne ?
merci
Messages postés
1
Date d'inscription
jeudi 9 novembre 2006
Statut
Membre
Dernière intervention
10 novembre 2006

j ai besoin d effectuer la supression et la mise a jour avec des check box.
using DOM , XML et php

merci :)
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
PaTaTe : Si sa crash, remet à jour ton php: http://snaps.php.net/
Et si sa crash encore une fois, fait un rapport de bugs sur http://bugs.php.net/
Messages postés
2081
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
J'ai une opération non conforme sur php4ts.dll quand j'essaie d'accéder à mon XML avec ce code

Quelqu'un sait pourquoi ?
Messages postés
91
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
5 août 2005

Salut,

ça y est ! je m'y suis mis !

Je me permets juste d'apporter 2 petites corrections à ton fichier carnet.php :
- La première permet de rendre le scripte php portable aafin qu'il fonctionne sur un serveur linux et windows
- La deuxième consiste simplement à décoder la page XML qui est en unicode alors que les pages html sont en ascii.

Voici le code (carnet.php) :

<?php
$path = $_SERVER['SCRIPT_FILENAME'];
$path = substr($path,0,strrpos($path, '/')+1);

$xml = domxml_open_file($path . 'carnet.xml');
$xsl = domxml_xslt_stylesheet_file($path . 'carnet.xsl');
$html = $xsl->process($xml);
echo utf8_decode($html->dump_mem());
?>

Fabrice
Messages postés
91
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
5 août 2005

pour sablotron, je débute alors j'ai pris le premier venu, pour l'optimisation j'aurais vu plus tard... Je vais me renseigner sur DomXml/DomXslt.
Sinon j'écris bien du xhtml dans mon fichier xslt. Le problème c'est que sablotron ajoute une ligne meta content-type: text/html ce que je ne veux pas ! Donc je vais vraiment me renseigner sur DOM.
Fabrice
Messages postés
822
Date d'inscription
vendredi 25 mai 2001
Statut
Modérateur
Dernière intervention
1 août 2014

Je te déconseille vraiment l'utilisation de Sablotron. Beaucoup trop lent puis.... c'est pas ce qu'il se fait de mieux. Pour ce qui est de la sortie c'est à toi d'écrire du code xhtml dans ton fichier xslt. Si tu regardes mon exemple, j'utilise DomXml/DomXslt. Tu sais ce qu'il te reste à faire ;-)
Messages postés
91
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
5 août 2005

Salut orion,

c'est une bonne source ! Je n'ai pas tout regardé mais est-ce que la transformation peut se faire à la volet coté seveur ? je cherche à faire ça en ce moment. J'utilise sablotron pour faire cette transformation. Malheureusement sablotron formate la sortie en html :-( et moi je veux du xhtml !
j'ai trouvé qu'il fallait mettre la variable XSLT_SABOPT_DISABLE_ADDING_META de sablotron à true. mais je ne sais pas comment faire ! Est-ce que tu as une idée ?

Fabrice