Bonjour,
Grand débutant et utilisant très peu Python, je vais essayé de structurer ma question .
J'utilise un vieux script pour créer un fichier.xml. En entrée j'ai un fichier de data (chaînes de cactères) et un template (utilisation de Django).Mon script répondait tout à fait à mes besoins tant que je n'avais pas décidé d'inclure les caractères < et > qui sont destinés à du markup dans un site (création d'une liste html)
Donc, ma question est : comment éviter de transformer par exemple : < en &lt ?
Apparemment mon problème se situe au moment ou les data sont traitées en utilisant le template (problème Python ou Django ?) . Voici un résumé de ce que j'ai (vue partielle du script avec affichage des chaînes de caractères obtenues à chaque étape)
Merci de votre aide .
----------------------------------------------------------
En entrée la chaîne de caractères manipulée :
"<ul><li> Élement1 </li><li> élement2 </li></ul>"
Résultat en sortie :
"&lt;ul&gt;&lt;li&gt; Élement1 &lt;/li&gt;&lt;li&gt; élement2 &lt;/li&gt;&lt;/ul&gt;"
Mon besoin en sortie :
"<ul><li> Élement1 </li><li> élement2 </li></ul>"
== Mon script ====
import django

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
import django
from django.conf import settings               
from django.template import Template, Context   	
DATA_FILE = 'input00.txt'
 
a, b, c,d = 1, 1.65, 100,0
....
....
DATA['myloops'] = list_dict
print(DATA)	 		# display :  "<ul><li> Élement1 </li><li> élement2 </li></ul>" 
 
with open('template00.xml', 'r') as f: 
    template_str = f.read()
 
settings.configure()       	# Set-up Django before using its functionalities
django.setup()
t = Template(template_str) 	# Django Template object
c = Context(DATA)     		# Django Context object
final_xml = t.render(c)   	# returns a Python string
 
print(final_xml)		# Display : "&lt;ul&gt;&lt;li&gt;  Élement1  &lt;/li&gt;&lt;li&gt; élement2  &lt;/li&gt;&lt;/ul&gt;
 
with open('output00.xml', 'w', encoding='utf-8') as f:
 
    f.write(final_xml)		# in output file output00.xml : "&lt;ul&gt;&lt;li&gt;  Élement1  &lt;/li&gt;&lt;li&gt; élement2  &lt;/li&gt;&lt;/ul&gt;"
-------------------------------------------------------------------------------