我从网页上解析了以下XML:
<!--
Parts from the iGEM Registry of Standard Biological Parts
-->
<rsbpml>
<part_list>
<part>
<part_id>151</part_id>
<part_name>BBa_B0034</part_name>
<part_short_name>B0034</part_short_name>
<part_short_desc>RBS (Elowitz 1999) -- defines RBS efficiency</part_short_desc>
<part_type>RBS</part_type>
<release_status>Released HQ 2013</release_status>
<sample_status>In stock</sample_status>
我想提取一些值。在
例如,我想从<part_type>
输出值RBS
。在
我试过以下方法:
^{pr2}$但它不起作用,我得到:AttributeError:'NoneType' object has no attribute 'text'
我做错什么了?在
试着换衣服
到
^{2}$findall
返回匹配的所有节点的列表。因此,第一行返回所有part_list
节点的列表。您的<part_list>
节点没有任何带有标记part_type
的子节点,因此它返回None
,您将得到您的错误。在如果只有一个节点
part_list
,那么find
将返回实际的节点,您可以使用普通的for part in
语法来遍历它的所有子节点。在如果有多个
part_list
标记,则只需要一个嵌套的for循环:编辑:假设这是一个XY问题-如果您要查找的是一个特定的子路径,您可以同时执行所有操作,如下所示:
等等
相关问题 更多 >
编程相关推荐