首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中获取子属性值

如何在Python中获取子属性值
EN

Stack Overflow用户
提问于 2014-03-10 10:15:00
回答 1查看 905关注 0票数 0

我有这样一个xml文件。

代码语言:javascript
复制
<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‘的值和批准的值。我想知道医生是否被批准了。我有这样的剧本。

代码语言:javascript
复制
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,是的

请引导我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-10 10:25:20

假设XML中只有一个approved-by标记:

更改:

代码语言:javascript
复制
approved = dom.getAttribute('approved')

至:

代码语言:javascript
复制
approved_by = dom.getElementsByTagName('approved-by')
approved = approved_by[0].attributes['approved'].value
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22297338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档