如何使用Python的minidom获取元素值并存入列表?

1 投票
1 回答
735 浏览
提问于 2025-04-17 20:54

这是我的代码片段:

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

撰写回答