IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[XML Débutant] Comment traiter du XML à la volée?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut [XML Débutant] Comment traiter du XML à la volée?
    Bonjour à tous,

    Je tiens tout d'abord à vous préciser que je suis une totale novice en XML.

    Je développe actuellement un site internet et je dois interroger, pour effectuer des recherches spécifiques, un service Web hébergé chez l'un de nos fournisseurs. Je connais la méthode pour interroger ce service Web. Le résultat est un flux XML. Ce dernier s'affiche dans ma page internet avec toutes les balises propres au XML...
    Ma question est donc la suivante : Comment mettre en forme le résultat fournit par le service Web sur mon site internet? J'ai effectué de nombreuses recherches sur Internet où j'ai trouvé des infos sur comment parser un fichier XML, ou bien encore appliquer des feuilles de style xsl. Mais je vous avoue que je suis un peu perdue. Je ne sais quelle solution adopter et surtout comment la mettre en oeuvre
    Je n'ai pas trouvé d'exemple pour traiter un résultat XML à la volée...

    Je vous remercie par avance pour votre aide et vos conseils.

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Que ce soit par fichier ou à la volée, le principe habituel est de charger le document XML en mémoire (un loadXML pour l'api DOM de PHP5 est ce qui permet de charger une chaine de caractères) puis de le transformer en balises (X)HTML à l'aide d'une feuille de style XSL.

  3. #3
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Merci bcp pour votre réponse.

    Je vais "creuser" l'information que vous venez de me donner.

    Si jamais quelqu'un avait des exemples, des tutoriels... toute suggestion est la bienvenue !

  4. #4
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Bon j'ai essayé de faire des choses en fonction des informations que vous m'avez données et que j'ai trouvées sur Internet.

    Mais je vous avouerai que le résultat est loin d'être bon

    Dans une page toute bête php voilà ce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
     
     // Nouvelle instance du processeur
     
         $xslt = new XSLTProcessor();
     
         // Chargement du fichier XML
     
    $xml = new DOMDocument('1.0','iso-8859-1');
    $xml->loadXML('http://url_du_fournisseur?liste_parametres');
     
     
         // Chargement du fichier XSL
     
         $xsl = new domDocument();
         $xsl -> load('test3.xsl');
     
         // Import de la feuille XSL
     
         $xslt -> importStylesheet($xsl);
     
         // Transformation et affichage du résultat
     
         echo $xslt -> transformToXml($xml);
     
    ?>
    Quand j'essaie d'exécuter la page, voilà ce que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Start tag expected, '<' not found in Entity, line: 1 in test.php on line 23
    
    Warning: DOMDocument::load() [function.DOMDocument-load]: Opening and ending tag mismatch: span line 7 and SPAN in test.php on line 29
    
    Warning: XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: compilation error in test.php on line 33
    
    Warning: XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: xsltParseStylesheetProcess : empty stylesheet in test.php on line 33
    Auriez vous une idée sur le problème? Là j'avoue que je suis complètement larguée...
    Si vous aviez un exemple à me fournir éventuellement.

    Merci d'avance pour votre aide

  5. #5
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Il y a deux fonctions PHP : load pour un fichier ou une URL et loadXML pour une chaine de caractères

  6. #6
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Merci pour votre réponse,

    en effet je n'utilisais pas la bonne méthode.

    Par contre, j'obtiens le message suivant maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Warning: XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: compilation error: file test3.xsl line 2 element html in test.php on line 33
     
    Warning: XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: xsltParseStylesheetProcess : document is not a stylesheet in test.php on line 33
    Cela vous inspire?

  7. #7
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Tout ça ressemble fort à une erreur de syntaxe...

    Pouvez-vous poster la feuille de style en question ?

  8. #8
    Membre du Club Avatar de fumesec
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Oui en effet il s'agissait bien d'une erreur de syntaxe dans ma feuille de style.
    Tout fonctionne à merveille à présent. Il ne me reste plus qu'à me familiariser avec les formalisme xsl.

    Merci encopre pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SimpleXML] Comment traiter correctement simple XML avec du PHP ?
    Par Alexandrebox dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 14/12/2009, 14h30
  2. Débutant, Comment traiter un fichier txt (csv)?
    Par djodjo2050 dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/10/2007, 17h41
  3. Réponses: 3
    Dernier message: 03/09/2007, 15h07
  4. Réponses: 3
    Dernier message: 06/08/2007, 03h44
  5. [XML][C++] Débutant , comment démarrer ?
    Par Clad3 dans le forum Bibliothèques
    Réponses: 17
    Dernier message: 28/03/2005, 19h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo