仅在可用时从 XML 值中提取值

这里的新手,试图从 XML 文件中的标签中提取值:docid、year、citedWork。但是,并非所有条目都包含引用工作标记。

http://img.mukewang.com/619cd7db00015faf11960410.jpg

目前,我收到了:


AttributeError: 'NoneType' 对象没有属性 'text'


关于如何将此条件合并到脚本中的任何建议?谢谢!


for element in root.findall(".//return/references"):

list_nodes=[]


if count == 0:

    doc_id= element.find('docid').tag

    result.append(doc_id)


    year= element.find('year').tag

    result.append(year)


    cit_title= element.find('citedTitle').tag

    result.append(cit_title)


    cit_work= element.find('citedWork').tag

    result.append(cit_work)


    CSV_writer.writerow(result)

    count = +1


doc_id= element.find('docid').text

list_nodes.append(doc_id)


year= element.find('year').text

list_nodes.append(year)


cit_title= element.find('citedTitle').text

list_nodes.append(cit_title)


cit_work= element.find('citedWork').text

list_nodes.append(cit_work)    



CSV_writer.writerow(list_nodes)

xml_csv.close()


慕侠2389804
浏览 196回答 2
2回答

慕码人8056858

cit_work= element.find('citedWork').tagcit_work= element.find('citedWork').text对于这些情况,如果您预计 'citedWork' 可能不存在,您可以在尝试访问其任何属性之前检查其返回值find是否不存在None。cit_work_elem = element.find('citedWork')if cit_work_elem:    cit_work = cit_work_elem.text

素胚勾勒不出你

试试下面的代码,cit_work= element.find('citedWork').textexcept:   cit_work= None如果它不在 xml 文件中,它将是 None。尝试这个!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python