您说您想要一个 对象 表示形式,我将其解释为意味着节点成为对象,并且该节点的属性和子代被表示为该对象的属性(可能根据某种模式)。我相信XMLObject就是这样做的。
我知道一些软件包。 4Suite包括一些用于执行此操作的工具,我相信Amara专门实现了此功能(在4Suite的基础上构建)。您还可以使用lxml.objectify,它受Amara和gnosis.xml.objectify的启发。
当然,第三个选择是,给定XML的具体表示形式(使用ElementTree或lxml),您可以围绕它构建自己的自定义模型。lxml.html就是一个例子,它使用某些特定于HTML的功能扩展了lxml的基本接口。