使用cElementTree模块在Python中解析XML

使用cElementTree模块在Python中解析XML,python,xml,Python,Xml,我有一个XML文件,我想把它转换成字典。我试图编写以下代码,但输出不符合预期。我有以下名为core-site.XML的XML文件: <configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/hdfs/tmp</value> <description>Temporary Directory.</des

我有一个XML文件,我想把它转换成字典。我试图编写以下代码,但输出不符合预期。我有以下名为core-site.XML的XML文件:

<configuration>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hdfs/tmp</value>
    <description>Temporary Directory.</description>
    </property>

    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.XXX.X.XXX:XXXX</value>
    <description>Use HDFS as file storage engine</description>
    </property>
</configuration>
这是我得到的输出:

{
    'property': 
    {
        'name': 'fs.defaultFS', 
        'value': 'hdfs://192.X.X.X:XXXX', 
        'description': 'Use HDFS as file storage engine'
    }
}

为什么没有显示第一个属性标记?它只显示最后一个属性标记中的数据。

由于您使用的是
dict
,因此具有相同键属性的第二个元素将替换先前记录在
dict
中的第一个元素

您必须使用不同的数据结构,例如
目录的
列表。

是!非唯一id。仅允许在唯一id内使用非唯一id。
{
    'property': 
    {
        'name': 'fs.defaultFS', 
        'value': 'hdfs://192.X.X.X:XXXX', 
        'description': 'Use HDFS as file storage engine'
    }
}