Johan Geldenhuys wrote:
> Thanks Stefan (decided to continue with a new thread name),

... which isn't quite enough. As long as you reply to the mail, e-mail/news
readers will still sort it into the original thread, so many people will
not see it.


> I basically wants to create a loop that creates a tree, appends it to the
> previous tree and write it all to one file...If that makes sense.
> 
> At the moment my tree is something like this:
> """
> <Signal name="abcde">
>       <Description>WhatEver</Description>
> </Signal>
> """
> 
> Now I want to read a dictionary from somewhere and put new values in the
> name and description. I know how to do that. Now I want to create a loop
> that creates a new tree:
> """
> <Signal name="qazwsx">
>       <Description>HowDee</Description>
> </Signal>
> """
> 
> Now I want to append these to the data I want to write to a single xml file.
> 
> """
> <Signal name="abcde">
>       <Description>WhatEver</Description>
> </Signal>
> <Signal name="qazwsx">
>       <Description>HowDee</Description>
> </Signal>
> """
> 
> I was thinking of creating a new root element and appending each as a
> subelement and then writing the root element to the file...

That's exactly the right thing since XML requires a single root element.

You can do it like this:

        root = ET.Element("newroot")
        for key, value in some_dict.iteritems():
                signal = ET.SubElement(root, "Signal", name=key)
                ET.SubElement(signal, "Description").text = value

Reading this might help:

http://effbot.org/zone/element.htm
http://codespeak.net/lxml/tutorial.html#the-element-class

Stefan

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to