Вам нужно два быстрых изменения
- Создание элемента
p
, например doc.createElement('p')
- Не устанавливайте атрибуты вручную, вместо этого используйте node.attributes, например
main.attributes['class']='memory'
, поэтому ваш код должен выглядеть следующим образом
from xml.dom.minidom import Document
doc = Document()
root = doc.createElement('root')
doc.appendChild(root)
for i in range(1,3):
main = doc.createElement('item')
main.attributes['class']='memory'
root.appendChild(main)
for j in range(1,3):
p = doc.createElement('p')
text = doc.createTextNode('DIMM Size'+str(j))
p.appendChild(text)
main.appendChild(p)
print (doc.toprettyxml(indent='\t'))
Долгосрочное изменение будет заключаться в использовании ElementTree , который имеет более интуитивно понятный интерфейс и прост в использовании, болеепоэтому при чтении xml, например, ваш пример в дереве элементов
from xml.etree import cElementTree as etree
root = etree.Element('root')
for i in range(1,3):
item = etree.SubElement(root, 'item')
item.attrib['class']='memory'
for j in range(1,3):
p = etree.SubElement(item, 'p')
p.text = 'DIMM Size %s'%j
print etree.tostring(root)