如何获取直接子节点而不是具有相同标签名称的子子节点xml minidom python

2024-04-29 19:54:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用xml minidom从xml文件中获取一些数据,但无法获得所需的结果。。。尝试此站点中与xml minidom相关的许多代码,但失败。。这是我的示例xml文件。。

<computer>
    <parts>
        <text>Required</text>
    </parts>
    <parts>
        <text>Required</text>
        <parts>
            <text>?Not Required</text>
        </parts>
        <parts>
            <text>?Not Required</text>
        </parts>
    </parts>
    <parts>
        <text>Required</text>
        <parts>
            <text>Not Required</text>
        </parts>
    </parts>
    <parts>
        <text>Required</text>
   </parts>
</computer>

我想得到“必需”的文本,但得到这样的输出

Required
Required
Not Required
Not Required
Required
Not Required
Required

这是我的代码示例,它从文件中获取所有文本,但我需要这些标记中的文本,这些标记是父标记的直接子标记。。。

from xml.dom import minidom
file=('d:\sample.xml')
xmldoc=minidom.parse(file)
parentnode = xmldoc.getElementsByTagName('computer')
for node in parentnode:
    alist=node.getElementsByTagName('text')
    for a in alist:
        t=a.childNodes[0].nodeValue
        print authortext

我想要的输出

Required
Required
Required
Required

Tags: 文件代码text标记文本示例requirednot