【发布时间】:2014-05-20 12:08:47
【问题描述】:
我使用 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
【问题讨论】:
-
getElementsByTagName获取所有后代。你需要所有的孩子。 -
我需要它的所有直系后代而不是间接后代......你可以说我需要父亲孩子的名字而不是他孙子名字的名字......
标签: python xml python-2.7 xml-parsing minidom