使用Python minidom读取XML并遍历每个节点

我有一个如下所示的XML结构,但规模更大:

<root>

<conference name='1'>

<author>

Bob

</author>

<author>

Nigel

</author>

</conference>

<conference name='2'>

<author>

Alice

</author>

<author>

Mary

</author>

</conference>

</root>

为此,我使用了以下代码:

dom = parse(filepath)

conference=dom.getElementsByTagName('conference')

for node in conference:

conf_name=node.getAttribute('name')

print conf_name

alist=node.getElementsByTagName('author')

for a in alist:

authortext= a.nodeValue

print authortext

但是,打印出来的作者文本为“无”。我尝试使用下面的变体来摆弄,但这会导致程序中断。

authortext=a[0].nodeValue

正确的输出应为:

1

Bob

Nigel

2

Alice

Mary

但是我得到的是:

1

None

None

2

None

None

关于如何解决这个问题有什么建议吗?

回答:

authortext的类型为1(ELEMENT_NODE),通常您需要TEXT_NODE获取一个字符串。这会工作

a.childNodes[0].nodeValue

以上是 使用Python minidom读取XML并遍历每个节点 的全部内容, 来源链接: utcz.com/qa/416106.html

回到顶部