【发布时间】:2011-05-11 15:28:10
【问题描述】:
给定 lxml.etree 是否有可能以某种方式构造树的对象表示,以便可以以类似对象的方式访问子元素(使用 '.' 运算符)?
我知道 lxml 有一个名为 objectify 的库,但它看起来只能在给定原始 XML 的情况下构建,并且向树中添加新元素仍然需要通过类似 etree 的节点创建。
理想情况下我想要实现的是:
tree = objectify( etree_root )
print tree.somenode.get( 'attrib_name' )
tree.somenode.set( 'attrib_name', 'some_val' )
Node( tree.somenode, "somechild" )
tree.somenode.somechild.set( 'attrib', 'foo' )
【问题讨论】: