WEB开发网
开发学院软件开发Python 使用 ElementTree,以 Python 语言处理 XML 阅读

使用 ElementTree,以 Python 语言处理 XML

 2007-03-29 12:11:28 来源:WEB开发网   
核心提示: 清单 6. ElementTree 对节点列表和特定子类型进行的迭代>>> open('simple.xml','w.').write('''<root>... <foo>this</f

清单 6. ElementTree 对节点列表和特定子类型进行的迭代

>>> open('simple.xml','w.').write('''<root>
... <foo>this</foo>
... <bar>that</bar>
... <foo>more</foo></root>''')
>>> from elementtree import ElementTree
>>> root = ElementTree.parse('simple.xml').getroot()
>>> for node in root:
...   print node.text,
...
this that more
>>> for node in root.findall('foo'):
...   print node.text,
...
this more

和清单 7:

清单 7. gnosis.xml.objectify 对所有子节点进行的有损耗的迭代

>>> children=lambda o: [x for x in o.__dict__ if x!='__parent__']
>>> from gnosis.xml.objectify import XML_Objectify
>>> root = XML_Objectify('simple.xml').make_instance()
>>> for tag in children(root):
...   for node in getattr(root,tag):
...     print node.PCDATA,
...
this more that
>>> for node in root.foo:
...   print node.PCDATA,
...
this more

正如您所见, gnosis.xml.objectify 目前抛弃了有关散布在代码中的 <foo> 和 <bar> 元素原始顺序的信息( 能够通过另一个奇妙的属性,如 .__parent__ 记住该顺序,但没有人需要或发送一个补丁来做这件事)。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 ElementTree Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接