Je sais que cette question est assez vieille maintenant, mais j'ai pensé que vous auriez plus de facilité à ElementTree
from xml.etree import ElementTree as ET
import datetime
f = ET.XML(data)
for element in f:
if element.tag == "currentTime":
# Handle time data was pulled
currentTime = datetime.datetime.strptime(element.text, "%Y-%m-%d %H:%M:%S")
if element.tag == "cachedUntil":
# Handle time until next allowed update
cachedUntil = datetime.datetime.strptime(element.text, "%Y-%m-%d %H:%M:%S")
if element.tag == "result":
# Process list of skills
pass
Je sais que ce n'est pas très précis, mais je viens de le découvrir, et jusqu'à présent, il est beaucoup plus facile de s'y retrouver que dans le minidom (puisque de nombreux nœuds sont essentiellement des espaces blancs).
Par exemple, le nom de la balise et le texte proprement dit sont réunis, comme on peut s'y attendre :
>>> element[0]
<Element currentTime at 40984d0>
>>> element[0].tag
'currentTime'
>>> element[0].text
'2010-04-12 02:45:45'e
7 votes
Il semble que la réponse à la plupart des questions sur le "minidom" soit "utilisez ElementTree".
0 votes
En revanche, si vous apprenez minidom au lieu d'ElementTree, vous mettrez peut-être un peu plus de temps à démarrer, mais vous serez ensuite capable de faire exactement la même chose dans pratiquement n'importe quel autre langage de programmation que vous connaissez ou que vous finirez par apprendre, et vous pourrez également tirer parti de nombreux autres outils. Vous payez votre argent et vous faites votre choix.