Python Node.TEXT\u Node具有该值,但我需要该属性

Python Node.TEXT\u Node具有该值,但我需要该属性,python,xml,Python,Xml,我有这样一个xml文件: <host name='ip-10-196-55-2.ec2.internal'> <hostvalue name='arch_string'>lx24-x86</hostvalue> <hostvalue name='num_proc'>1</hostvalue> <hostvalue name='load_avg'>0.01</hostvalue> </ho

我有这样一个xml文件:

<host name='ip-10-196-55-2.ec2.internal'>
   <hostvalue name='arch_string'>lx24-x86</hostvalue>
   <hostvalue name='num_proc'>1</hostvalue>
   <hostvalue name='load_avg'>0.01</hostvalue>
 </host>

从上面的代码中,我可以得到val,但不能得到attr(编译错误:

),下面是一个简短的示例,说明您可以实现的功能:

from xml.dom import minidom

xmldoc = minidom.parse("so.xml")

values = {}

for stat in xmldoc.getElementsByTagName("hostvalue"):
    attr = stat.attributes["name"].value
    value = "\n".join([x.data for x in stat.childNodes])
    values[attr] = value

print repr(values)
这将输出给定的XML文件:

$ ./parse.py 
{u'num_proc': u'1', u'arch_string': u'lx24-x86', u'load_avg': u'0.01'}
请注意,这不是故障保护,即如果您在
中有嵌套元素

$ ./parse.py 
{u'num_proc': u'1', u'arch_string': u'lx24-x86', u'load_avg': u'0.01'}