Le code en python est probablement le plus synthétique pour convertir un fichier (ou un fragment de fichier) xml ou html. Voici le code pour renommer tous les éléments d'un fichier xml pour en faire du html utilisable dans un epub par exemple.
1 2 3 4 5 6 7 | < SCENE > < REPLIQUE > < ACTEUR >Roméo</ ACTEUR > < LIGNE >Salut Juliette</ LIGNE > < LIGNE >Il est haut ton balcon</ LIGNE > </ REPLIQUE > </ SCENE > |
devient:
1 2 3 4 5 6 7 | < div class = "SCENE" > < div class = "REPLIQUE" > < p class = "ACTEUR" >Roméo</ p > < p class = "LIGNE" >Salut Juliette</ p > < p class = "LIGNE" >Il est haut ton balcon</ p > </ div > </ div > |
convertXml.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # Converts read an xml fragment and renames a tag # pip install --upgrade lxml import lxml.etree import lxml.html from lxml import etree tree = etree.parse( 'Romeo.xml' ) for tag in tree. iter (): if not len (tag): tag.attrib[ 'class' ] = tag.tag tag.tag = "p" else : tag.tag = "div" # print (tag.tag, tag.text) print (lxml.etree.tostring(tree).decode()) |
Pour que le résultat soit transcrit dans un fichier, je lance le script avec
1 | convertXml.py > output.txt |