如何使用Python的minidom获取元素值并存入列表?
这是我的代码片段:
from xml.dom import minidom
from xml.dom.minidom import parse
xmldoc = minidom.parse('C:\\Users\\folder\\Documents\\Python Training\\XMLFiles\\sample.xml')
dimension = xmldoc.getElementsByTagName("tns:RefDimensionSet")[0]
fields = dimension.getElementsByTagName("tns:Field")
for field in fields:
print field
这个代码运行后输出了下面的结果,看起来还不错:
<DOM Element: tns:Field at 0x2a46988>
<DOM Element: tns:Field at 0x2a46b08>
<DOM Element: tns:Field at 0x2a46c88>
<DOM Element: tns:Field at 0x2a46e08>
<DOM Element: tns:Field at 0x2a46f88>
<DOM Element: tns:Field at 0x2a47148>
<DOM Element: tns:Field at 0x2a472c8>
<DOM Element: tns:Field at 0x2a47448>
<DOM Element: tns:Field at 0x2a475c8>
<DOM Element: tns:Field at 0x2a47748>
它显示的是元素的地址,我想要显示的是这些元素的实际值,而不是地址,然后把这些值作为字符串存储在一个列表里。
有人能帮忙吗?
1 个回答
2
函数 getElementsByTagName 返回的是一种叫做 DOM 元素的对象,这就是你得到这个结果的原因。也就是说,如果你想获取这个元素的某个属性,比如叫 id 的属性值,你可以试试这样做:
field.attributes['id'].value