所用文件地址:链接: https://pan.baidu.com/s/1slqQRvv 密码: 3ce1
最近用xml.etree.ElementTree包做了一个药物重定位的xml文件提取,这种xml文件不同于一般的xml文件,各级标签不同于ElementTree官方文档https://docs.python.org/2/library/xml.etree.elementtree.html所给出的类型,所以提取的关键在于标签指定是否正确。废话少说,直接上代码:
#coding=utf-8
from xml.etree import ElementTree as ET
f = open('Drug_info.txt','w')#保存路径
per=ET.parse('test2.xml')#打开xml文件
p=per.findall('./')#得到所有的drug标签
for drug in p:#遍历每个drug
print('=====name=====')#这个后期可以删除,这里是方便你看输出
name = drug.find('{http://www.drugbank.ca}name').text#得到drug标签下的name标签中的内容,但一定要加{http://www.drugbank.ca},它这个XML文件就这么恶心,这个是最大的坑,今天遍历子节点才发现这个问题
print('Drug_name:'+name)
f.writelines(name)#写drugName
print(&#