Modifier fichier XML

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Modifier fichier XML

Re: Modifier fichier XML

par Couin » 16 nov. 2010, 16:52

Bonjour,
Bon, je pense que le problème d'encodage est résolu grâce à vous.
J'ai modifier mon default_charset dans mon php.ini en le mettant à UTF-8.
Et pour charger mon fichier j'utlise la ligne de popy

Code : Tout sélectionner

$xml = simplexml_load_string(mb_convert_encoding(file_get_contents($Way),"ISO-8859-1","ISO-8859-1"));
Quand je fais un var_dump, les accents et les apostrophes s'affichent corectement.
Maintenant il me reste plus qu'à essayer de modifier la valeur d'un noeud.
Merci beaucoup à tous en tout cas

Re: Modifier fichier XML

par Couin » 15 nov. 2010, 09:28

Salut,
Comment je peux afficher étape par étape, je ne comprends pas.
Quand je fais un load string je créé bien un objet en 1 fois non ?
Comment tester par étape ?

Re: Modifier fichier XML

par popy » 08 nov. 2010, 19:14

Ben, fait etape par etape en affichant le résultat pour voir ou ça merde.

Re: Modifier fichier XML

par Couin » 08 nov. 2010, 14:43

Salut,
J'ai essayé ton code mais le résultat est le même.
Merci en tout cas.

Re: Modifier fichier XML

par popy » 05 nov. 2010, 19:06

$xml = simplexml_load_string(mb_convert_encoding(file_get_contents($Way),"ISO-8859-1","ISO-8859-1"));
parce que bon...

Re: Modifier fichier XML

par Couin » 04 nov. 2010, 18:05

Alors, quand je fais un

Code : Tout sélectionner

echo mb_convert_encoding ("Réponse_tiers","ISO-8859-1","ISO-8859-1");
Affichage = OK

Mais je ne peut pas le faire sur le fichier complet.

Code : Tout sélectionner

$xml = simplexml_load_string(file_get_contents(mb_convert_encoding($Way,"ISO-8859-1","ISO-8859-1")));
Il ne m'affiche rien.

Les problèmes d'encodage doivent être omnis présent quand on fait du développement Web il doit donc y avoir un moyen de travailler sur un objet entier lors de son loading, non ?

Re: Modifier fichier XML

par stealth35 » 04 nov. 2010, 17:39

ta toujours le mauvais encodage

Re: Modifier fichier XML

par Couin » 04 nov. 2010, 17:37

Salut,
Je reviens vers toi ....
Si j'ai bien compris, mon fichier est un objet.
Pour accéder à un élément je fais

Code : Tout sélectionner

echo $xml->Décisions_iris[0]->Réponse_tiers;
Il me renvoie:
Trying to get property of non-object
Faut il que je déclare mon objet ?
Voilà ce que m'affiche un echo var_dump

Code : Tout sélectionner

object(SimpleXMLElement)#1 (1) { ["Décisions_iris"]=> object(SimpleXMLElement)#2 (23) { ["IDDécisions_iris"]=> string(2) "11" ["Numero"]=> string(9) "xxx" ["numlot"]=> string(3) "243" ["Matricule"]=> string(13) "xxx" ["Num_facture"]=> string(9) "xxx" ["Réponse_tiers"]=> string(176) "Le numéro de l'établissement prescripteur transmis est : xxx. Veuillez réexaminer la prescription médicale et retransmettre cette facture en corrigeant l'information." ["NOM_agent_traite_lot"]=> string(22) "xxx" ["qui_recycle"]=> string(2) "PS" ["Consigne_technicien"]=> string(100) "Le numéro de l'établissement prescriptemur transmis est inconnu de notre fichier Valider le rejet." ["Raison_possible"]=> string(82) "le numéro de l'établissement prescripteur transmis est inconnu de notre fichier." ["Num_rejet_signalement"]=> string(7) "xxx" ["libelle_utilisateur_anomalie"]=> string(35) "Prescripteur établissement inconnu" ["Nepastraiter"]=> string(1) "0" ["Prendre_motif_invalidation"]=> string(1) "0" ["date_naissance"]=> string(8) "xxx" ["Type"]=> string(21) "xxx" ["Reférence"]=> string(19) "xxx" ["rej_sig_sel"]=> string(3) "REJ" ["dateheuredecision"]=> string(17) "20101008083415480" ["num_caisse"]=> string(3) "xxx" ["Centre"]=> string(4) "xxx" ["Portefeuille"]=> string(5) "xxx" ["prescripteur"]=> string(9) "xxx" } }
Ensuite pour la modif je pense que la démarche devrait ressembler à ça, mais pour l'instant je n'arrive pas à naviguer dans mon objet.

Code : Tout sélectionner

$xml->Décisions_iris[0]->Réponse_tiers = 'toto';
Merci pour ton aide

Re: Modifier fichier XML

par stealth35 » 03 nov. 2010, 17:34

pas besion de fonction c'est un objet tu le modifie direct :wink:

Re: Modifier fichier XML

par Couin » 03 nov. 2010, 17:26

C'est bon, du moins je n'ai plus de message !!!!
Quand je fais un var_dump, il m'affiche mon fichier.
Super, je n'ai plus qu'à faire une recherche de chaine de caractere ou de balise pour faire ma modif.
Tu me conseilles quelle fonction pour une recherche et une modif ?

Merci

Re: Modifier fichier XML

par stealth35 » 03 nov. 2010, 17:19

et sans ?

Re: Modifier fichier XML

par Couin » 03 nov. 2010, 17:18

Idem

Re: Modifier fichier XML

par stealth35 » 03 nov. 2010, 17:15

fais un utf8_decode a la place

Re: Modifier fichier XML

par Couin » 03 nov. 2010, 17:11

Oui mais avec un simplexml_load_string() il me renvoyait plus d'erreur !!

Entity: line 3: parser error : error parsing attribute name
Couldn't find end of Start Tag DÃ

Pfff je rame sévère ...

Re: Modifier fichier XML

par stealth35 » 03 nov. 2010, 17:03

simplexml_load_file c'est pour lire un fichier... la tu lit un chaine donc c'est simplexml_load_string