Comment générer du XML à partir de types de données non-string en utilisant minidom? J'ai le sentiment que quelqu'un va me dire de générer des cordes avant la main, mais ce n'est pas ce que je cherche.Comment générer du XML à partir de types de données non-string en utilisant minidom?
from datetime import datetime
from xml.dom.minidom import Document
num = "1109"
bool = "false"
time = "2010-06-24T14:44:46.000"
doc = Document()
Submission = doc.createElement("Submission")
Submission.setAttribute("bool",bool)
doc.appendChild(Submission)
Schedule = doc.createElement("Schedule")
Schedule.setAttribute("id",num)
Schedule.setAttribute("time",time)
Submission.appendChild(Schedule)
print doc.toprettyxml(indent=" ",encoding="UTF-8")
Ceci est le résultat:
<?xml version="1.0" encoding="UTF-8"?>
<Submission bool="false">
<Schedule id="1109" time="2010-06-24T14:44:46.000"/>
</Submission>
Comment puis-je obtenir des représentations XML valides de types de données non-string?
from datetime import datetime
from xml.dom.minidom import Document
num = 1109
bool = False
time = datetime.now()
doc = Document()
Submission = doc.createElement("Submission")
Submission.setAttribute("bool",bool)
doc.appendChild(Submission)
Schedule = doc.createElement("Schedule")
Schedule.setAttribute("id",num)
Schedule.setAttribute("time",time)
Submission.appendChild(Schedule)
print doc.toprettyxml(indent=" ",encoding="UTF-8")
fichier "C: \ Python25 \ lib \ xml \ dom \ minidom.py", à la ligne 299, en _write_data data = data.replace ("&", "& ") .replace (" < "" < «) AttributeError: objet 'bool' n'a pas d'attribut 'remplacer'
La chaîne de temps est difficile à générer correctement et ce serait une approche fragile. Il doit y avoir un moyen de prendre un ensemble de résultats à partir d'une requête de base de données, de brancher les valeurs dans des nœuds dom et de le sérialiser correctement sans avoir à créer explicitement des chaînes pour tout. – tponthieux