xml.dom.minidom appendChild/toxml formatting problem

Ray rrarey at gmail.com
Mon Nov 8 16:16:46 CET 2004


Thanks for the suggestions, guys.  I was able to get it to do what I
wanted by replacing my call with toprettyxml() with a call to
xml.dom.ext.PrettyPrint().

news:<d116fbae.0411061834.57b79bf3 at posting.google.com>...
> rrarey at gmail.com (Ray) wrote in message news:<6471d296.0411051330.1477041 at posting.google.com>...
> 
> [SNIP]
> 
> > after calling domi.normalize(), domi.toxml(), and
> > configFile.write(), the XML looks like:
> > <Cluster Name="RAYTEST">
> >    <Cluster Name="RAYTEST2"><Cluster Name="RAYTEST3"/></Cluster>
> > </Cluster>
> > 
> > instead of how I would like it to look, which would be:
> > <Cluster Name="RAYTEST">
> >    <Cluster Name="RAYTEST2">
> >       <Cluster Name="RAYTEST3"/>
> >    </Cluster>
> > </Cluster>
> > 
> > Or, if I append "RAYTEST3" to "RAYTEST", it comes out as:
> > <Cluster Name="RAYTEST">
> >    <Cluster Name="RAYTEST2"/>
> > <Cluster Name="RAYTEST3"/></Cluster>
> > 
> > Instead of:
> > <Cluster Name="RAYTEST">
> >    <Cluster Name="RAYTEST2"/>
> >    <Cluster Name="RAYTEST3"/>
> > </Cluster>
> > 
> > 
> > The rest of the XML file retains its original whitespace and
> > linebreaks.  How can I get this to format the new changes correctly? 
> > Calling toprettyxml instead of toxml seems to double the whitespace
> > and linebreaks in the rest of the file.
> 
> There are many solutions to this, all of which require that you
> properly understand what nodes are really there in a given DOM (and in
> particular, understanding exactly how text nodes work).
> 
> One good way I've found for getting people familiar with the actual
> DOM tree structure is using a GUi tree widget.  See, for instance
> listing 2 in:
> 
> http://www.xml.com/pub/a/2003/04/09/py-xml.html
> 
> Anyway, for the "pretty printing confused thinsg by only adding
> whitespace" complaint, I suggest you strip whitespace first.  There
> are many libraries with routines for this, but you could start with
> the following cookbook recipe if you like:
> 
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/303061
> 
> Good luck.
> 
> -- 
> Uche Ogbuji                                    Fourthought, Inc.
> http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
> A hands-on introduction to ISO Schematron -
> http://www-106.ibm.com/developerworks/edu/x-dw-xschematron-i.html
> Schematron abstract patterns -
> http://www.ibm.com/developerworks/xml/library/x-stron.html
> Wrestling HTML (using Python) -
> http://www.xml.com/pub/a/2004/09/08/pyxml.html
> XML's growing pains - http://www.adtmag.com/article.asp?id=10196
> XMLOpen and more XML Hacks -
> http://www.ibm.com/developerworks/xml/library/x-think27.html
> A survey of XML standards -
> http://www-106.ibm.com/developerworks/xml/library/x-stand4/



More information about the Python-list mailing list