Добавить повторяющийся дочерний тег в существующий xml

образец.py

import xml.etree.cElementTree as ET
log_file=open("filename.xml","a")
root = ET.Element("VOD")
doc = ET.Element("SessionDetails")
root.append(doc)
tree = ET.ElementTree(root)
tree.write("filename.xml")

o/p при запуске sample.py 3 раза

<?xml version="1.0"?>

-<VOD>

<SessionDetails/>

</VOD>

[Примечание: я не получаю результат ниже] Желаемый o/p, если я запускаю sample.py 3 раза, o/p должен быть таким, как показано ниже.

-<VOD>

<SessionDetails/>
<SessionDetails/>
<SessionDetails/>

</VOD>

person Ravi Yadav    schedule 27.10.2015    source источник
comment
Хорошо. Так какой у тебя вопрос?   -  person MattDMo    schedule 27.10.2015
comment
Я не получаю желаемого результата...   -  person Ravi Yadav    schedule 27.10.2015


Ответы (1)


Я получил результат, используя метод ниже

Первое создание XML

from xml.dom.minidom import getDOMImplementation
impl = getDOMImplementation()
newdoc = impl.createDocument(None, "VOD", None)
top_element = newdoc.documentElement
text = newdoc.createElement('SessionDetaild')
top_element.appendChild(text)
newdoc.writexml(open("filename.xml","w"))

Для добавления данных в xml

import xml.dom.minidom as m
doc = m.parse("filename.xml")
valeurs = doc.getElementsByTagName("VOD").item(0)
element = doc.createElement("SessionDetaild")
valeurs.appendChild(element)
doc.writexml(open("filename.xml","w"))

Ссылка:

http://stackoverflow.com/questions/11074021/inserting-xml-nodes-in-an-existing-xml-document-with-python
person Ravi Yadav    schedule 27.10.2015