简化XML生成代码的LXML包装器。
lxml-wrapper的Python项目详细描述
Author: | matee |
---|---|
Source: | See github for the latest source. |
Documentation: | lxml-wrapper@read-the-docs |
BugTracker: | Github issues |
关于
这个包装器简化了python xml生成代码。
更改
如果
E('root').add_if(1==1, E('child')) # <root><child /></root> E('root').add_if(1==0, E('child')) # <root/>
为
添加uE('root').add_for([1,2], lambda item: E('item', attr=item)) # <root><item attr="1"/><item attr="2"/></root>
依赖关系
- lxml http://codepake.net/lxml/
安装
pip install lxml-wrapper
示例
xml
<root atr="100"> text1 <child atr="atr"> <superchild atr="">sctext1</superchild> tail1 tail2 </child> tail <child atr="">text</child> </root>
旧方式
root = Element('root', atr=str(100)) root.text = 'text1' child = SubElement(root, 'child', atr="atr") superchild = SubElement(root, 'superchild', atr="" if value is None else value) superchild.text = 'sctext1' superchild.tail = 'tail1' superchild.tail += 'tail2' child.tail = 'tail' child = SubElement(root, 'child', atr="") child.text = 'text'
新方法
root = E('root', atr=100).add( 'text1', E('child', atr="atr").add( E('superchild', atr=None).add('sctext1'), 'tail1', 'tail2' ), 'tail', E('child', atr="").add( 'text' ) )