2010-06-11 47 views
0

在我的程序中,我需要在程序中的各种函数中使用ElementTree对象。绕过ElementTree

更具体地说,我做这个:

tree = etree.parse('somefile.xml') 

我身边路过此树在我的计划。

我想知道这是否是一个好方法,或者我可以这样做:

  1. 创建一个全局树(我来自一个 C++背景,我知道全球是 坏)
  2. 创建在需要的地方再次树。

或者我的方法好吗?

回答

1

在Python中,(消除复杂性,为您的C++背景打个比方),所有对象都通过引用传递。由于“树”是一个对象,所以你只传递参考。现在,如果您有一组相关的方法在同一棵树上操作,您可能需要考虑创建一个具有该树对象作为成员的类。

而且,这里有一个快速参考我掩盖了上述复杂性:http://www.testingreflections.com/node/view/5126

+0

感谢。 – user225312 2010-06-11 14:06:18

+0

不客气! – gomad 2010-06-14 15:33:49

1

通常我所做的就是使用ElementTree解析树,然后将整个混乱转换为对象列表并将其传递给对象 - 事后处理更容易,因为其余代码不必意识到这些东西起源于一些可怕的xml文件。