我有这样一个xml文件。
<approved-by approved="yes">
<person>
<name>XXX/name><signature>XXXXX</signature>
<location>XX</location><company>XXX</company><department>XX</department>
</person>
</approved-by>
<revision-history suppress="yes">
<rev-info>
<rev>PA1</rev>
<date><y>2013</y><m>01</m><d>22</d></date>我需要从所有xml中检索'rev‘的值和批准的值。我想知道医生是否被批准了。我有这样的剧本。
from xml.dom.minidom import parse, parseString
import os
import sys
def shahul(dir):
for r,d,f in os.walk(dir):
for files in f:
if files.endswith(".xml"):
dom=parse(os.path.join(r, files))
name = dom.getElementsByTagName('rev')
title = dom.getElementsByTagName('title')
approved=dom.getAttribute('approved')
print (files, title[0].firstChild.nodeValue,name[0].firstChild.nodeValue, approved, sep='\t')
shahul("location")我能够得到'rev‘下的值,但是我不能获得属性’核可-by‘的值。我知道我的语法不适合得到批准的值,但我不知道。
我需要以下输出。
FILE_NAME,标题,PA1,是的
请引导我。
发布于 2014-03-10 10:25:20
假设XML中只有一个approved-by标记:
更改:
approved = dom.getAttribute('approved')至:
approved_by = dom.getElementsByTagName('approved-by')
approved = approved_by[0].attributes['approved'].valuehttps://stackoverflow.com/questions/22297338
复制相似问题