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

Langage PHP Discussion :

Comment transformer du JSON via XSLT ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 467
    Par défaut Comment transformer du JSON via XSLT ?
    Bonjour,

    Il est théoriquement possible de transformer du JSON en autre chose, disons du JSON (changer une valeur par exemple), via XSLT : https://www.w3.org/TR/xslt-30/#json

    PHP permet avec la classe XSLTProcessor de faire cela sur du XML, mais pas du JSON (?).
    Je bute sur un point, c'est que XSLTProcessor doit avoir en entrée un DOMDocument.

    Sauf que je ne sais pas convertir du JSON en DOMDocument, ou bien XSLTProcessor n'est pas appropriée.

    Avez vous une solution ou une piste pour me mettre sur la bonne voie ?

    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    XSLTProcessor prends aussi un simpleXMLelement. Tu peux transformer un json en array, un array en XML (plusieurs bibliothèques permettent de faire ça, par exemple le premier que j'ai trouvé: https://github.com/spatie/array-to-xml), et le XML en simpleXMLelement.

    Mais il doit y avoir un moyen plus rapide de faire ce que tu cherches, si tu peux dire ce que tu veux exactement faire. Que veux-tu dire par changer du "JSON en JSON(changer une valeur par exemple)" ? Pourquoi ne pas tout simplement passer par la transformation en array (ou en objet) dans ce cas?

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 467
    Par défaut
    Je dois passer par XSLT pour des raisons de responsabilité. Les personnes qui pourront manipuler des données via XSLT ne seront pas habilitées à modifier l'application php.
    Un peu usine à gaz la gestion des droits sur ce projet, mais bon, je n'ai pas le choix !

    J'avais pensé à ta solution, mais c'est un peu lourd. J'avais espéré que comme la spécification existait au W3C, il y avait quelque chose de plus ou moins natif en php qui m'aurait échappé.
    Je misais un peu de passer un array php à XSLTProcessor, mais je ne vois pas

    Merci en tout cas.

Discussions similaires

  1. [ABAP] Transformation XML - ABAP via XSLT
    Par Pat_lyon dans le forum SAP
    Réponses: 5
    Dernier message: 06/12/2007, 11h46
  2. [DTS] Comment auditer les transformations sql faites via DTS
    Par danmick dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 07h40
  3. transformation XML->TXT via XSLT
    Par manumanien dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 07/06/2005, 20h30
  4. transformation xml via xslt
    Par ronnie dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 10/05/2005, 10h58
  5. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12

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