Python 解析具有相似标记和不同属性的xml文件!

Python 解析具有相似标记和不同属性的xml文件!,python,Python,很抱歉,如果这是一个重复的问题,或者是一个基本的问题,因为我是Python新手. 我试图解析以下XML命令,以便“提取”Daniel和George的标记值。我希望答案看起来像丹尼尔=78,乔治=90 <epas:property name="Tom">12</epas:property> <epas:property name="Alice">34</epas:property> <epas:property name="John">

很抱歉,如果这是一个重复的问题,或者是一个基本的问题,因为我是Python新手. 我试图解析以下XML命令,以便“提取”Daniel和George的标记值。我希望答案看起来像丹尼尔=78,乔治=90

<epas:property name="Tom">12</epas:property>
<epas:property name="Alice">34</epas:property>
<epas:property name="John">56</epas:property>
<epas:property name="Danial">78</epas:property>
<epas:property name="George">90</epas:property>
<epas:property name="Luise">11</epas:property>
我试图将Daniel和George引用到数组索引以获取值,但看起来我做得不对。我将非常感谢您对这方面的想法/意见


干杯,比尔不要使用xml.dom.minidom,它是一个糟糕的库!使用或(ElementTree在标准库中,可能对您很有用)

您应该有一个XML名称空间,例如
xmlns:epas=”http://something“
。此外,不能有裸元素,它们需要封闭。如果您有“假”名称空间(即,没有声明),您可以使用punt并执行以下操作:

myString = '<doc xmlns:epas="dummy">%s</doc>' % myString

将XML和Python代码放在代码格式中,以便正确显示。是否有错误?如果将.getElementByTagName修复为.getElementsByTagName,并将该xml片段包装在一个声明了名称空间的根元素中,其余部分应该可以工作。如果没有,您应该会收到一条错误消息。我知道您试图逐字解析的XML问题中显示了什么?如果是这样,它就不是有效的XML。需要有一个根元素来包含属性项。那可能是你问题的原因。谢谢伊恩。我已经安装了Python2.5.4版本,但是我得到了:“没有名为etree.ElementTree的模块作为ET”。正如您所说,ElenetTree在标准库中,因此应该与Python 2.5.4一起使用!我是不是遗漏了什么?:-)2.5应包括ElementTree。在某些操作系统上,它可能是一个单独的安装(即,分装商将其从标准库中分离出来)。您也可以只安装ElementTree,然后将ElementTree作为ET导入
myString = '<doc xmlns:epas="dummy">%s</doc>' % myString
import xml.etree.ElementTree as ET
doc = ET.fromstring(myString)
result = {}
for el in doc.findall('{http://something}property):
    result[el.get('name')] = int(el.text)