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

使用 ElementTree,以 Python 语言处理 XML

 2007-03-29 12:11:28 来源:WEB开发网   
核心提示: 清单 12. 存储在 node.tail 属性中的 PCDATA>>> xml = '<a>begin<b>inside</b>middle<c>inside</c>end</a>'&

清单 12. 存储在 node.tail 属性中的 PCDATA

>>> xml = '<a>begin<b>inside</b>middle<c>inside</c>end</a>'
>>> open('doc.xml','w').write(xml)
>>> doc = ElementTree.parse('doc.xml').getroot()
>>> doc.text, doc.tail
('begin', None)
>>> doc.find('b').text, doc.find('b').tail
('inside', 'middle')
>>> doc.find('c').text, doc.find('c').tail
('inside', 'end')

结束语

ElementTree是一个非常不错的模块,和 DOM 相比,它提供了一个更轻量级的对象模型,用于以 Python 处理 XML。虽然我没有在本文中提及, ElementTree在从头生成 XML 文档方面和它在操作现有的 XML 数据方面一样出色。

作为与之类似的库 gnosis.xml.objectify的作者,我无法完全客观地评价 ElementTree;尽管如此,与那些 ElementTree所提供的方法相比,我始终尝试在 Python 程序中用我自己的方法更简单自然地予以实现。ElementTree 通常仍利用节点的方法来操作数据结构,而不是像人们通常处理应用程序中构建的数据结构那样直接访问节点属性。

然而,在有些方面, ElementTree很出色。使用 XPath 访问深层嵌套元素要比手工递归搜索容易得多。显然,在 DOM 中也可使用 XPath,但代价是形成一个过于庞大且不够统一的 API。 ElementTree 所有的 Element 节点的工作方式是一致的,不像 DOM 的节点类型那样“装饰华丽”。

上一页  4 5 6 7 8 9 

Tags:使用 ElementTree Python

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