Making a small change to a large XML document

Gerard Flanagan grflanagan at yahoo.co.uk
Tue Sep 25 02:37:09 EDT 2007


On Sep 25, 12:38 am, Dan Stromberg <dstrombergli... at gmail.com> wrote:
> Say I want to take an existing XML document, and change the value="9997"
> and value="9998" to two different numbers, without changing any of the
> rest of the document - not even changing comments or indentation, if
> avoidable.
>
> What's the best way of doing it in python?
>
>   <bean id="cs" class="c.d.q.s.C">
>     <property name="p" value="9997"/>
>     <property name="mP" value="9998"/>
>     <property name="g" value="cs"/>
>     <property name="e" value="t"/>
>   </bean>
>
> My .xml file is full of such beans.
>
> I've played around with minidom a little in the past, and I'm targetting
> python 2.5.1.
>
> Thanks!

With ElementTree (from xml.etree import ElementTree) and the 'replace'
and 'sub' functions here:

  http://gflanagan.net/site/python/utils/elementfilter/elementfilter.py

(Some improvements to ElementTree:

  http://effbot.org/zone/elementtree-13-intro.htm

)

Gerard




More information about the Python-list mailing list