【发布时间】:2019-03-21 02:34:35
【问题描述】:
我正在尝试从 this xml 文档中删除粗体标签 (<b> Some text in bold here </b>)(但希望保持标签所覆盖的文本完好无损)。粗体标签出现在以下单词/文本周围:目标、设计、设置、参与者、干预、主要结果测量、结果、结论和试验注册。
这是我的 Python 代码:
import requests
import urllib
from urllib.request import urlopen
import xml.etree.ElementTree as etree
from time import sleep
import json
urlHead = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&retmode=xml&rettype=abstract&id='
pmid = "28420629"
completeUrl = urlHead + pmid
response = urllib.request.urlopen(completeUrl)
tree = etree.parse(response)
studyAbstractParts = tree.findall('.//AbstractText')
for studyAbstractPart in studyAbstractParts:
print(studyAbstractPart.text)
此代码的问题在于它会在“AbstractText”标签下找到所有文本,但它会停止(或忽略)粗体标签及其之后的文本。原则上,我需要“<AbstractText> </AbstractText>”标签之间的所有文本,但粗体格式<b> </b> 只是一个糟糕的障碍。
【问题讨论】:
标签: python xml elementtree