donaldlloyds Posted April 7, 2010 Share Posted April 7, 2010 bonjour, je tente sans résultats d importer, un fichier XML dans OOoMon fichier ce compose comme ceci et se reppette pour caque client (dans le même fichier, mais je n allais pas tout mettre ici ) - - - DI NIC*** Em*** 016445**** ed********@wanadoo.fr - 6 CH TAILLIS GREFFIER 77780 BOURRON-MARLOTTE France - DI NIC*** Em*** 016445**** ed*******@wanadoo.fr - 6 CH TAILLIS GREFFIER 77780 BOURRON-MARLOTTE France - Rue du Commerce 41458751 new 39.40 29/03/2010 14:47:49 - Colissimo 5.50 - Converse All Star Basse de couleur Bleu ( Pointure : 45 Couleur : Bleu Marine ) - carte j aimerais pouvoir importer ces données ( n de commande; nom; prénom; adresse etc....) dans un tableau OOo qui me sert à imprimer mes bordereaux d envoi.le fichier XML est celui de rue du commerce, peut être certain on déjà utiliser leurs services.Merci pour vos réponses. Link to comment Share on other sites More sharing options...
Dizin Posted April 19, 2010 Share Posted April 19, 2010 Bonjour,Je suis actuellement en train de travailler là-dessus, vous trouverez ci-dessous un bout de code permettant de récupérer les données du fichier xml. <?php require_once('DOM.inc.php'); $doc = new _DOMDocument(); $doc->load('rueducommercecommande.xml'); $searchorders = $doc->getElementsByTagName( "orders" ); foreach( $searchorders as $searchorders ) { $status = $searchorders->getAttribute('status'); if ($status=='new'){ $searchorder = $doc->getElementsByTagName( "order" ); foreach( $searchorder as $searchorder ) { $morid = $searchorder->getAttribute('morid'); $utilisateur = $searchorder->getElementsByTagName( "utilisateur" ); foreach($utilisateur as $utilisateur) { $type = $utilisateur->getAttribute('type'); if ($type=='facturation') { $xmlnom = $utilisateur->getElementsByTagName( "nom" ); $nom_fact = $xmlnom->item(0)->nodeValue; foreach( $xmlnom as $xmlnom ) { $titre = $xmlnom->getAttribute('titre'); } switch ($titre){ case "M": $gender='m'; break; case "Mm": $gender='f'; break; case "Me": $gender='f'; break; } $xmlprenom = $utilisateur->getElementsByTagName( "prenom" ); $prenom_fact = $xmlprenom->item(0)->nodeValue; $xmlsociete = $utilisateur->getElementsByTagName( "societe" ); $societe_fact = $xmlsociete->item(0)->nodeValue; $xmltelhome = $utilisateur->getElementsByTagName( "telhome" ); $telhome_fact = $xmltelhome->item(0)->nodeValue; $xmlemail = $utilisateur->getElementsByTagName( "email" ); $email_fact = $xmlemail->item(0)->nodeValue; $xmlrue1 = $utilisateur->getElementsByTagName( "rue1" ); $rue1_fact = $xmlrue1->item(0)->nodeValue; $xmlrue2 = $utilisateur->getElementsByTagName( "rue2" ); $rue2_fact = $xmlrue2->item(0)->nodeValue; $xmlcpostal = $utilisateur->getElementsByTagName( "cpostal" ); $cpostal_fact = $xmlcpostal->item(0)->nodeValue; $xmlville = $utilisateur->getElementsByTagName( "ville" ); $ville_fact = $xmlville->item(0)->nodeValue; $xmlpays = $utilisateur->getElementsByTagName( "pays" ); $pays_fact = $xmlpays->item(0)->nodeValue; }elseif ($type=='livraison'){ $xmlnom = $utilisateur->getElementsByTagName( "nom" ); $nom_livr = $xmlnom->item(0)->nodeValue; $xmlprenom = $utilisateur->getElementsByTagName( "prenom" ); $prenom_livr = $xmlprenom->item(0)->nodeValue; $xmlsociete = $utilisateur->getElementsByTagName( "societe" ); $societe_livr = $xmlsociete->item(0)->nodeValue; $xmltelhome = $utilisateur->getElementsByTagName( "telhome" ); $telhome_livr = $xmltelhome->item(0)->nodeValue; $xmlemail = $utilisateur->getElementsByTagName( "email" ); $email_livr = $xmlemail->item(0)->nodeValue; $xmlrue1 = $utilisateur->getElementsByTagName( "rue1" ); $rue1_livr = $xmlrue1->item(0)->nodeValue; $xmlrue2 = $utilisateur->getElementsByTagName( "rue2" ); $rue2_livr = $xmlrue2->item(0)->nodeValue; $xmlcpostal = $utilisateur->getElementsByTagName( "cpostal" ); $cpostal_livr = $xmlcpostal->item(0)->nodeValue; $xmlville = $utilisateur->getElementsByTagName( "ville" ); $ville_livr = $xmlville->item(0)->nodeValue; $xmlpays = $utilisateur->getElementsByTagName( "pays" ); $pays_livr = $xmlpays->item(0)->nodeValue; } } $xmlrefid = $searchorder->getElementsByTagName( "refid" ); $refid = $xmlrefid->item(0)->nodeValue; $xmlmontant = $searchorder->getElementsByTagName( "montant" ); $montant = $xmlmontant->item(0)->nodeValue; $transport = $searchorder->getElementsByTagName('transport')->item(0); $xmlfdp = $transport->getElementsByTagName('montant'); $fdp = $xmlfdp->item(0)->nodeValue; $searchproduit = $searchorder->getElementsByTagName( "produit" ); foreach( $searchproduit as $produit ) { $qt = $produit->getAttribute('nb'); $product_id = $produit->getAttribute('merchantProductId'); $price = $produit->getAttribute('price'); } } } } ?> En espérant que cela puisse vous aider. Link to comment Share on other sites More sharing options...
donaldlloyds Posted April 20, 2010 Author Share Posted April 20, 2010 comment cela fonctionne ?en tous cas merci Link to comment Share on other sites More sharing options...
Dizin Posted April 26, 2010 Share Posted April 26, 2010 Il faut utiliser la classe DOMDocument, appelé en début de code, suivant la version de votre php il est peut être nécessaire d'utiliser un fichier la contenant (voir ci-joint). Après on parcours le fichier xml de Rue de Commerce et on récupère les données dont on a besoin, si vous avez besoin d'autres données vous pouvez prendre exemple sur le code existant. $searchorders = $doc->getElementsByTagName( "orders" ); => recherche une balise $status = $searchorders->getAttribute('status'); => récupère l'attribut d'une balise $xmlprenom = $utilisateur->getElementsByTagName( "prenom" ); $prenom_fact = $xmlprenom->item(0)->nodeValue; => récupère la valeur d'une balise DOM.inc.phpFetching info... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now