【发布时间】:2016-07-17 10:56:49
【问题描述】:
我有一个 xml 文件,我必须通过它来检索 xml 文档。 下面是我的xml文档。
-<orcid-message>
-<orcid-profile type="user">
-<orcid-activities>
-<orcid-works>
-<orcid-work put-code="23938140" visibility="public">
-<work-contributors>
-<contributor>
-<credit-name visibility="public">Tania Maes</credit-name>
-<contributor>
-<credit-name visibility="public">Francisco Avila Cobos</credit-name>
-<contributor>
-<credit-name visibility="public">Franco Liala Manus</credit-name>
我想检索贡献者姓名: 到目前为止我已经尝试过:
contributors_name = (doc['orcid-message']['orcid-profile']
['orcid-activities']['orcid-works']
['orcid-work']['work-contributors']
['contributor']['credit-name'] )
print(contributors_name)
请告诉我哪里出错了。谢谢。
【问题讨论】:
-
什么是
doc变量?你是如何填充它的? -
doc = xmltodict.parse(fd.read()) 而fd是xml文档
-
您当前的代码有什么问题?什么都没有打印出来或抛出任何异常?
-
contributors_name = (doc['orcid-message']['orcid-profile']['orcid-activities']['orcid-works']['orcid-work']['work -contributors']['contributor']['credit-name'] ) TypeError: list indices must be integers, not str : 我明白了。
标签: python xml python-3.x xmltodict