|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Bonjour,
Je débute avec Talend Open Studio 4 et j'ai créé un process qui lit un fichier excel de propriétés que j'exporte après mapping dans un fichier XML. Pour cela, j'utilise les composants tXMLMap et tAdvancedFileOutputXML. Je voudrais lors du mapping ou de l'écriture que les caractères spéciaux contenus dans le fichier excel soient remplacés. J'ai vu la fonction TalendString.replaceSpecialCharForXml ou String.ereplace mais j'aimerais une fonction qui encode directement en code html les caractères spéciaux. Exemple : j'ai une valeur dans le fichier excel avec des accents : "Cycle contrôlé" et je veux : "Cycle contrôlé" Ci-joint mon process. Merci d'avance pour l'aide ! J'ai beau chercher je vois pas...
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Bonjour,
Je te conseille de faire, en éspérant que tu t'y connaisses un peu en java, c'est de créer ta fonction toi même : une fonction à laquelle tu passes une chaîne de caractère xml et te retourne une chaîne de caractère en html. Il se peut même que tu retrouves cette fonction déjà créée par quelqu'un sur internet. Après avoir créée cette fonction tu la mets dans une routine Talend, pour cela je te renvoie vers ce tutoriel expliquant pas à pas comment réaliser ceci : http://haskouse.developpez.com/tutor...ation-routine/ Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
10
|
|
|
#3 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Bonjour Haskouse et merci.
Je m'y connais en Java oui mais pas encore dans l'environnement Talend. Je suppose qu'on appeler la fonction dont je parlais directement dedans, non ?
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Après la création de ta routine et ta fonction tu pourras faire l'appel à l'intérieur du tMap comme ceci :
Code :
routines.maroutine.mafonction(row1.maColonneAtransformer)
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#5 | ||||
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
J'utilise dans ma nouvelle routine un appel à EREPLACE.
Tout bêtement, je fais Code :
Code :
![]() EDIT: Après analyse, c'est le composant d'écriture du XML qui fait ce changement. Je ne sais pas comment paramétrer cela...
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
||||
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Je n'arrive pas à voir où est le problème, j'ai l'impression que ton fichier de sortie est bon !! non ?
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#7 | ||||
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Mon fichier n'est pas bon car j'attends:
Code :
Code :
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
||||
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Salut,
Je ne suis pas sûr de ma réponse mais c'est peut être à cause de l'encodage que tu utilises. Essaie de modifier la propriété "encodage" dans les paramètres avancés de ta sortie XML.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
J'ai essayé mais rien à faire. Cela ne concerne que le caractère "&" d'après mes observations. Je pense que l'origine du problème est dans le composant tAdvancedFileOutputXML.
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#10 |
|
Membre extrêmement actif
![]() Inscription : mars 2008 Messages : 870 ![]() |
Salut,
j'ai parcouru le sujet vite fait mais je te conseille de te tourner vers la classe StringEscapeUtils d'apache. Je l'avais utilisé et ça marchait pas mal, il doit y avoir des méthodes pour le HTML.
__________________
Heureux soient les fêlés, car ils laisseront passer la lumière. Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet. |
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Salut jojodu31 (toulousain ?)
Tu procèderais comment ? Custo du composant tAdvancedFileOutputXML ?
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#12 | ||
|
Membre extrêmement actif
![]() Inscription : mars 2008 Messages : 870 ![]() |
Salut! Toulousain oui
Pas de custo op op op ! A mon avis il te suffit de faire le traitement dans la tMap avant de donner la valeur à mettre dans le XML. Tu intègres un code comme ça et ça devrait être bon : Code :
__________________
Heureux soient les fêlés, car ils laisseront passer la lumière. Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet. |
||
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Ok merci
Mais j'ai observé que quand j'écris dans le XML, la chaîne é par exemple devient é. Donc, le composant d'écriture est foiré. Je me sens bon pour le réécrire...
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 1 ![]() |
Bonjour,
Avez vous trouvé une solution à votre problème, je me retrouve dans le même cas. Merci pour votre retour, Anaf |
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Bonjour,
Ma solution a été d'écrire avec les caractères spéciaux non traduits. Puis dans un composant tSystem, je fais une commande PERL pour chaque caractère à remplacer. : Code :
perl -pi.orig -e "s/pattern/repl/g" fichier.xml
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
Copyright © 2000-2012 - www.developpez.com