<p>I am about to build a piece of a project that will need to construct and post an XML document to a web service and I'd like to do it in Python, as a means to expand my skills in it.  </p>

<p>Unfortunately, whilst I know the XML model fairly well in .NET, I'm uncertain what the pros and cons are of the XML models in Python.  </p>

<p>Anyone have experience doing XML processing in Python? Where would you suggest I start? The XML files I'll be building will be fairly simple.</p>

Personally, I've played with several of the built-in options on an XML-heavy project and have settled on
pulldom
as the best choice for less complex documents.
Especially for small simple stuff, I like the event-driven theory of parsing rather than setting up a whole slew of callbacks for a relatively simple structure.
Here is a good quick discussion of how to use the API
.
What I like: you can handle the parsing in a
```
for
```
loop rather than using callbacks.  You also delay full parsing (the "pull" part) and only get additional detail when you call
```
expandNode()
```
.  This satisfies my general requirement for "responsible" efficiency without sacrificing ease of use and simplicity.