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

PHP & Base de données Discussion :

Importer xml BDD [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Par défaut Importer xml BDD
    Bonjour à tous !

    Je suis en train d'importer un fichier xml dans ma base de données, cependant je coince au niveau des balises imbriquées .

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <AFF_ID>1961612</AFF_ID>
    <INTITULE>
      <FR>Maison de ville Marseille 6 pièces 300 m2 Avec Terrasse 35m² Et Garage 80m²</FR> 
      <US>Townhouse Marseille 6 rooms 300 m2 terrace with 32m ² and 80m ² Garage</US> 
    </INTITULE>
    <COMMENTAIRES>
      <FR>[Référence 1350] 13003-BELLE DE MAI: A Proximité De Toutes Commodités Commerces Et Transports. Maison De Ville T6 Duplex De 300m², Grand Séjour, 4 Chambres, 2 sdb, 3 WC, Cuisine Américaine Équipée, Terrasse 32m², Garage 80m², Combles Aménagées
      </FR> 
      <US>[Reference 1350] 13 003-BELLE DE MAI: A Close To All Amenities Shops And Transport. Town house T6 Duplex From 300m ² Great Room, 4 Bedrooms, 2 bathrooms, 3 toilets, equipped kitchen, terrace 32m ², garage 80m ², attic furnished. 
      </US> 
     </COMMENTAIRES>
    Comment puis je differencier les balises <FR> de INTITULE et COMMENTAIRES :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("<AFF_ID>(.*)</AFF_ID>",$items[$i+1], $AFF_ID);
    ceci fonctionne pour l'identifians mais pour FR de COMMENTAIRES j'ai essayé ceci sans resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("<COMMENTAIRES><FR>(.*)</FR></COMMENTAIRES>",$items[$i+1], $FR);

    Auriez-vous une idée svp .

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    oui
    • tu laisses tomber les eregi() qui sont dépréciées (tu feras des PRCE la prochaine fois)
    • tu est heureux parce que tu as du xml
    • tu utilises ton xml comme du xml et pas comme du vulgaire texte avec http://us2.php.net/manual/fr/book.simplexml.php
    • tu reviens poser des questions si tu n'arrives pas à mettre en oeuvre la librairie.
    • tu utilises quand c'est fini.

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Par défaut
    Merci pour votre réponse, cependant il faudrait l'intégrer pour cet après midi et je n'ai pas le temps pour réécrire le script, je sais que ce n'est pas propre mais vu l'urgence je me contenterai aujourd'hui pour la méthode bourrin. Aurais-tu une idée sur la manière de différencier les <FR> car quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("<FR>(.*)</FR>",$items[$i+1], $FR);
    J'ai cela comme résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Maison de ville Marseille 6 pièces 300 m2 Avec Terrasse 35m² Et Garage 80m²</FR> 
      <US>Townhouse Marseille 6 rooms 300 m2 terrace with 32m ² and 80m ² Garage</US> 
    </INTITULE>
    <COMMENTAIRES>
      <FR>[Référence 1350] 13003-BELLE DE MAI: A Proximité De Toutes Commodités Commerces Et Transports. Maison De Ville T6 Duplex De 300m², Grand Séjour, 4 Chambres, 2 sdb, 3 WC, Cuisine Américaine Équipée, Terrasse 32m², Garage 80m², Combles Aménagées

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par cmoi70 Voir le message
    Merci pour votre réponse, cependant il faudrait l'intégrer pour cet après midi et je n'ai pas le temps pour réécrire le script, je sais que ce n'est pas propre mais vu l'urgence je me contenterai aujourd'hui pour la méthode bourrin. Aurais-tu une idée sur la manière de différencier les <FR> car quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("<FR>(.*)</FR>",$items[$i+1], $FR);
    J'ai cela comme résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Maison de ville Marseille 6 pièces 300 m2 Avec Terrasse 35m² Et Garage 80m²</FR> 
      <US>Townhouse Marseille 6 rooms 300 m2 terrace with 32m ² and 80m ² Garage</US> 
    </INTITULE>
    <COMMENTAIRES>
      <FR>[Référence 1350] 13003-BELLE DE MAI: A Proximité De Toutes Commodités Commerces Et Transports. Maison De Ville T6 Duplex De 300m², Grand Séjour, 4 Chambres, 2 sdb, 3 WC, Cuisine Américaine Équipée, Terrasse 32m², Garage 80m², Combles Aménagées
    t'inquiète pas fais comme te dit gene69, et ca ira beaucoup plus vite que de corriger tes bidouilles

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Par défaut
    Re,

    alors j'ai viré le ergi qui est déprécié et ça me donne par rapport à mon exemple .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("#<AFF_ID>(.*)</AFF_ID>#s",$items[$i+1], $AFF_ID);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("#<COMMENTAIRES><FR>(.*)</FR></COMMENTAIRES>#s",$items[$i+1], $FR);
    qui ne me retourne toujours rien, $FR est vide

    quelle serait l'astuce

    La library libxml ( je suppose que c'est de cela dont il s'agit ) est installée par defaut je pense, dans php version 5.3.3 en configuration il est ecrit
    libxml Version 2.7.7

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par cmoi70 Voir le message
    quelle serait l'astuce
    http://www.developpez.net/forums/d10...d/#post5762480

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

Discussions similaires

  1. Import XML dans plusieurs tables
    Par fbe66 dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 05/08/2006, 15h55
  2. import xml open office
    Par boubu dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 22/06/2006, 15h25
  3. requete d import de BDD
    Par mick84m dans le forum Administration
    Réponses: 4
    Dernier message: 21/03/2006, 16h17
  4. Importation xml vers sql server
    Par nicko5959 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/01/2006, 09h06

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