Au cours d'un projet, j'ai eu besoin de manipuler des fichiers xml. Je me suis donc mis à la recherche d'une librairie pour Python. J'ai au début trouver l'API DOM mais celle-ci me semblait compliquée et lente. Je me suis donc penché sur d'autres librairies puis presque par hazard, je me suis retrouvé sur ce site

La librairie ElementTree est une librairie simple et rapide (voir même très rapide en version cElementTree.)

Avec ce genre de librairie, parser un fichier xml est plus que facile.

# test de création d'un flux rss
 
from cElementTree import ElementTree,Element
 
# balise principale: rss
rss = Element("rss",{'version':'2.0'})
channel = Element("channel")
titre = Element("title")
titre.text = "mon fil rss"
adresse = Element("link")
adresse.text = "http://iwky911.free.fr"
 
# un article
article = Element("item")
Atitre = Element("title")
Adescription = Element("description")
Alien = Element("link")
Atitre.text = "titre"
Adescription.text = "Ceci est un article de test"
Alien.text = "http://iwky911.free.fr"
 
channel.append(titre)
channel.append(adresse)
 
article.append(Atitre)
article.append(Adescription)
article.append(Alien)
 
channel.append(article)
rss.append(channel)
 
ElementTree(rss).write("rss.xml")

ce fichier génère ce flux rss:

<rss version="2.0">
   <channel>
      <title>mon fil rss</title>
      <link>http://iwky911.free.fr</link>
 
      <item>
         <title>titre</title>
         <description>Ceci est un article de test</description>
         <link>http://iwky911.free.fr</link>
      </item>
   </channel>
</rss>

facile non?