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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Quelle classe XML utiliser ?


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Par défaut [SimpleXML] Quelle classe XML utiliser ?
    Bonjour,

    je cherche une classe pour le XML, jusqu'à maintenant j'utilisais le script Magpierss qui devient obsolète avec PHP5.

    Je penche fortement vers la class DOM de php5 pour la manipulation XML mais avant de m'engager vers une classe qui peut être comporte des vilaines subtilités je préfère demander.

    Pouvez-vous dire quelle classe XML vous utilisez et pourquoi svp ?

    Rapidité, simplicité, sécurité, stabilité sont forcément des critères de choix

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Personnellement, je manipule très peu d'XML, mais chaque fois que je dois le faire j'utilise simpleXML, il rencontre deux de vos critère : Rapidité, simplicité.

  3. #3
    Membre confirmé Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Par défaut
    Merci pour le retour

    Suite à la lecture de pas mal d'article et tuto il semble effectivement que simpleXML a été fais pour la lecture de source XML, donc plus rapide et plus léger vue qu'il a été fais et optimisé pour ça.

    Par contre il a moins de possibilité de manipulation que DOM par exemple.

    Du coup je me dis que faire une classe qui fusionne simpleXML pour la lecture et DOM pour des manipulations plus poussées serait peut être l'idéal non ?

  4. #4
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Je prefere xmlreader, mais je ne me suis jamais servi d'xmlwriter.
    C'est nettement plus rapide que simplexml, on ne peut pas le ratter avec des fichiers xml assez gros (>50M).
    En theorie, xmlwriter est egalement plus rapide.
    Par contre, pour les RSS, j'utiliserai directement Feed (anglais).

  5. #5
    Membre confirmé Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Par défaut
    Merci je ne connaissais pas XMLreader, hélas il y a très peu d'info (tuto) mis à part PHP.net & copie.

    Si j'ai bien compris les classes DOM et simpleXML charge le XML dans la mémoire et XMLreader lis le fichier XML en streaming un peu comme le fait Mysql ?

  6. #6
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    C'est certain pour xmlReader: a part si une variable avec le fichier de 100M lui est passee ...
    A priori, DOM charge la totalite du document seulement, je n'exclue pas qu'il existe une feinte permettant d'eviter ce desagrement.
    Les conseils de nos confreres utilisateurs de DOM m'interressent egalement, puisqu'aucune discussion a ce sujet n'existe sur developpez.net.

    Je rappelle toutefois que certains d'entre eux ont pris la peine de partager un peu de leur experience:
    http://jerome.developpez.com/xmlxsl/...lpage=&rpage=4
    http://fr.php.net/simplexml
    http://php.developpez.com/cours/?page=bibliotheques#xml
    http://php.developpez.com/faq/?page=xml

    Sinon j'ai des examples aussi:
    simple
    un peu complexe

    PS: Je viens de comprendre, tout les commentaires d'utilisateurs ont disparu sur la page de la doc ... L'equipe competente est au courant a present.

    En attendant qu'ils les retrouvent ou demandent le repostage, voici un code utile:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
    class debugXMLReader extends XMLReader {
      /**
       * This is a table to translate a node type verbosely.
       * @var array
       */
      public $aNodeTypes = array (
        0=>"No node type",
        1=>"Start element",
        2=>"Attribute node",
        3=>"Text node",
        4=>"CDATA node",
        5=>"Entity Reference node",
        6=>"Entity Declaration node",
        7=>"Processing Instruction node",
        8=>"Comment node",
        9=>"Document node",
        10=>"Document Type node",
        11=>"Document Fragment node",
        12=>"Notation node",
        13=>"Whitespace node",
        14=>"Significant Whitespace node",
        15=>"End Element",
        16=>"End Entity",
        17=>"XML Declaration node"
      );
     
      /**
       * Returns a complete debugging array with all current's node info.
       * @return array Returns an array with all current's node info.
       */
      public function dump() {
        $dump = array();
        $dump['attributeCount'] = $this->attributeCount;
        $dump['baseURI'] = $this->baseURI;
        $dump['depth'] = $this->depth;
        $dump['hasAttributes'] = $this->hasAttributes ? 'TRUE' : 'FALSE';
        $dump['hasValue'] = $this->hasValue ? 'TRUE' : 'FALSE';
        $dump['isDefault'] = $this->isDefault ? 'TRUE' : 'FALSE';
        $dump['isEmptyElement'] = @$this->isEmptyElement ? 'TRUE' : 'FALSE';
        $dump['localName'] = $this->localName;
        $dump['name'] = $this->name;
        $dump['namespaceURI'] = $this->namespaceURI;
        $dump['nodeType'] = $this->nodeType;
        $dump['nodeTypeVerbose'] = $this->aNodeTypes[$this->nodeType];
        $dump['namespaceURI'] = $this->namespaceURI;
        $dump['prefix'] = $this->prefix;
        $dump['value'] = $this->value;
        $dump['xmlLang'] = $this->xmlLang;
        return $dump;
      }
    }
    ?>

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

Discussions similaires

  1. Réponses: 31
    Dernier message: 01/10/2009, 14h21
  2. [XML] quelle différence entre utiliser un attribut ou un tag ?
    Par clavier12AZQSWX dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 02/09/2009, 16h52
  3. Quelles classes faut-il utiliser?
    Par anaranjado dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/12/2008, 11h41
  4. [JAVA XML] : utilisation class générées par JAXB
    Par Michalak dans le forum Persistance des données
    Réponses: 0
    Dernier message: 31/10/2008, 15h43
  5. Interface graphique, quelles classes utiliser?
    Par miniil dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 15/02/2006, 22h38

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