从 xml 数据中获取第二个标签值
Get the second tag value from xml data
从 XML 树中获取准确的第二个值的过程是什么?
<Dbtag>
<Dbtag_db>HGNC</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>HGNC:7</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
<Dbtag>
<Dbtag_db>Ensembl</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>ENSG00000175899</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
我使用以下脚本来获取值。
for child in root.findall('Dbtag/Dbtag_tag/Object-id/Object-id_str'):
print(child.text)
我得到的输出是
HGNC:7
ENSG00000175899
如何获取标签的唯一第二个值
这里
import xml.etree.ElementTree as ET
xml = '''<r><Dbtag>
<Dbtag_db>HGNC</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>HGNC:7</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
<Dbtag>
<Dbtag_db>Ensembl</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>ENSG00000175899</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag></r>'''
root = ET.fromstring(xml)
sec_id = root.findall('.//Object-id_str')[1].text
print(sec_id)
输出
ENSG00000175899
从 XML 树中获取准确的第二个值的过程是什么?
<Dbtag>
<Dbtag_db>HGNC</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>HGNC:7</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
<Dbtag>
<Dbtag_db>Ensembl</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>ENSG00000175899</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
我使用以下脚本来获取值。
for child in root.findall('Dbtag/Dbtag_tag/Object-id/Object-id_str'):
print(child.text)
我得到的输出是
HGNC:7
ENSG00000175899
如何获取标签的唯一第二个值
这里
import xml.etree.ElementTree as ET
xml = '''<r><Dbtag>
<Dbtag_db>HGNC</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>HGNC:7</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag>
<Dbtag>
<Dbtag_db>Ensembl</Dbtag_db>
<Dbtag_tag>
<Object-id>
<Object-id_str>ENSG00000175899</Object-id_str>
</Object-id>
</Dbtag_tag>
</Dbtag></r>'''
root = ET.fromstring(xml)
sec_id = root.findall('.//Object-id_str')[1].text
print(sec_id)
输出
ENSG00000175899