EasyXML

Concise XML generation in Python
Download

EasyXML Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Evan Wallace
  • Publisher web site:
  • https://github.com/evanw/

EasyXML Tags


EasyXML Description

EasyXML is an Python module that offers an easy and concise way to generate XML output in Python. It uses a custom attribute getter so element names can be specified directly in the code: books = EasyXML('books') books.book(title='Example A') books.book.author(name='John Smith', age=57) books.book.publisher(name='Publisher A') books.book(title='Example B') books.book.author(name='Jane Doe', age=30) books.book.author(name='James Cutter', age=45) books.book.publisher(name='Publisher B') print str(books)The above code produces the following XML: < books > < book title="Example A" > < author age="57" name="John Smith"/ > < publisher name="Publisher A"/ > < /book > < book title="Example B" > < author age="30" name="Jane Doe"/ > < author age="45" name="James Cutter"/ > < publisher name="Publisher B"/ > < /book > < /books >You don't actually need to create every parent element, allowing the followingcode to work: root = EasyXML('root') root.a.b.c() root.a.b.c() root.a() root.a.b.c() root.a.b.c() print str(root)The above code produces the following XML: < root > < a > < b > < c/ > < c/ > < /b > < /a > < a > < b > < c/ > < c/ > < /b > < /a > < /root >Creating an element returns that element, which can then be passed to helpermethods: def material(primitive, ambient, diffuse): primitive.ambient(r=ambient, g=ambient, b=ambient) primitive.diffuse(r=diffuse, g=diffuse, b=diffuse) root = EasyXML('root') material(root.primitive(type='sphere'), (64, 0, 0), (192, 0, 0)) material(root.primitive(type='cube'), (0, 64, 0), (0, 192, 0)) print str(root)The above code produces the following XML: < root > < primitive type="sphere" > < ambient b="0" g="0" r="64"/ > < diffuse b="0" g="0" r="192"/ > < /primitive > < primitive type="cube" > < ambient b="0" g="64" r="0"/ > < diffuse b="0" g="192" r="0"/ > < /primitive > < /root >See also https://github.com/5monkeys/easyxml/tree/developProduct's homepage


EasyXML Related Software