2

I have this xml model.

link text

So I have to add some node (see the text commented) to this file. How I can do it?

I have writed this partial code but it doesn't work:

xmldoc=minidom.parse(directory)
child = xmldoc.createElement("map")
for node in xmldoc.getElementsByTagName("Environment"):
    node.appendChild(child)

Thanks in advance.

Tendayi Mawushe
  • 25,562
  • 6
  • 51
  • 57
michele
  • 26,348
  • 30
  • 111
  • 168

1 Answers1

1

I downloaded your sample xml file and your code works fine. Your problem is most likely with the line: xmldoc=minidom.parse(directory), should this not be the path to the file you are trying to parse not to a directory? The parse() function parses an XML file it does not automatically parse all the XML files in a given directory.

If you change your code to something like below this should work fine:

xmldoc=minidom.parse("directory/model_template.xml")
child = xmldoc.createElement("map")
    for node in xmldoc.getElementsByTagName("Environment"):
        node.appendChild(child)

If you then execute the statement: print xmldoc.toxml() you will see that the map element has indeed been added to the Environment element: <Environment><map/></Environment>.

Tendayi Mawushe
  • 25,562
  • 6
  • 51
  • 57