我想从jatsxml获取图像和它的描述。在我的示例中,我使用http://journal.frontiersin.org/article/10.3389/fpls.2011.00008/xml/nlm
这些数字的格式如下:
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p><bold>Pathways of DSB misrepair...</p></caption>
<graphic xlink:href="fpls-02-00008-g001.tif"/>
</fig>
我想得到每个图形的<caption>...</caption>
和<graphic xlink:href="..."/>
的内容。你知道吗
所以我的想法是使用BeautifulSoup的css选择器,在打印时去掉html标记:
#!/usr/bin/python
from bs4 import BeautifulSoup
import urllib.request
content = urllib.request.urlopen('file:///tmp/fpls-02-00008.xml').read()
soup = BeautifulSoup(content, 'xml')
##<fig><caption>XXX</caption></fig>
caption = soup.select("fig caption")
##<fig><graphic xlink:href="YYY"/></fig>
graphic = soup.select("fig graphic")
for a in caption:
print(a.get_text().strip())
#print(b.get_text()) doesn't work
for b in graphic:
print(b)
#separator = "|"
#print(separator.join([caption, graphic]))
只得到标题或只是图形工程,但由于不一致的来源,我需要得到这两个在同一时间。结果不应该是
而是
我如何做到这一点?提前谢谢!你知道吗
您可以先选择
fig
元素,然后在同一循环中选择caption
和graphic
。你知道吗输出:
您可以使用zip同时循环浏览两个列表:
相关问题 更多 >
编程相关推荐