ANN: XMLBuilder 1.3
Mike Hostetler
thehaas at binary.net
Tue Oct 5 17:49:18 CEST 2004
XMLBuilder is an easy way to generate XML.
New in Version 1.3:
* Support for non-ascii character.
* You can specify the encoding when making the object. If not
specified, it defaults to UTF-8.
* Specify if you want the resulting XML to be pretty-printed out.
Thanks to Luis Miguel Morillas for helping me with the encoding stuff,
and the patches.
The current version is always avaiable at:
http://users.binary.net/thehaas/blogfiles//xmlbuilder.py
It's easier to show you how XMLBuilder works than to tell you. Here
is some samples:
>>> b1.name={"person": {"attr": {"type":"friend"},"last":"flintstone",
... "first":"fred"}}
>>> print b1
<?xml version="1.0" encoding="utf-8"?>
<name>
<person type="friend">
<last>
flintstone
</last>
<first>
fred
</first>
</person>
</name>
>>> b2 = XMLBuilder()
>>> b2.person={"attr":{"type":"boss"}, "last":"Slate", "first":"Mr."}
>>> print b2
<?xml version="1.0" encoding="utf-8"?>
<person type="boss"><last>Slate</last><first>Mr.</first></person>
>>> print(b1+b2)
<?xml version="1.0" encoding="utf-8"?>
<name><person type="friend"><last>flintstone</last><first>fred</first>
</person><person type="boss"><last>Slate</last><first>Mr.</first></person></name>
>>> nonascii ={u"français" : u"Comment ça va? Trés bien?",
... u"deutsch" : u"viel Spaß"}
## encoding='local' means to use the local encoding, in my case ISO8859-1
>>> iso = XMLBuilder(encoding="local", pretty=True)
>>> iso.lang = nonascii
>>> print iso
<?xml version="1.0" encoding="ISO8859-1"?>
<lang>
<français>
Comment ça va? Trés bien?
</français>
<deutsch>
viel Spaß
</deutsch>
</lang>
A more concrete example is at:
http://users.binary.net/thehaas/blogfiles/tablegen.py
--
Mike Hostetler
http://www.binary.net/thehaas
More information about the Python-announce-list
mailing list