У меня есть файл XML, который выглядит как this. Соответствующий бит это:pyquery (lxml) не находит тег в хорошо структурированном XML-документе?
<reference>
<citation>Vander Wal JS, Gang CH, Griffing GT, Gadde KM. Escitalopram for treatment of night eating syndrome: a 12-week, randomized, placebo-controlled trial. J Clin Psychopharmacol. 2012 Jun;32(3):341-5. doi: 10.1097/JCP.0b013e318254239b.</citation>
<PMID>22544016</PMID>
</reference>
Я пытаюсь найти значение PMID
поля, используя PyQuery для разбора XML:
from pyquery import PyQuery as pq
text = open(f, 'r').read()
d = pq(text)
data = {}
data['nct_id'] = d('nct_id').text()
print d('reference')
reference = d('reference')
print reference('PMID')
data['pmid'] = reference('PMID').text()
print data['PMID']
Почему это не работает? В консоли я вижу полное содержание reference
от первого оператора печати, а затем два пустых значений:
<reference>
<citation>Vander Wal JS, Gang CH, Griffing GT, Gadde KM. Escitalopram for treatment of night eating syndrome: a 12-week, randomized, placebo-controlled trial. J Clin Psychopharmacol. 2012 Jun;32(3):341-5. doi: 10.1097/JCP.0b013e318254239b.</citation>
<PMID>22544016</PMID>
</reference>
я могу найти другие узлы листа в документе (например, nct_id
) просто отлично используя .find()
, в качестве примера показывает код.
Неужели PyQuery не любит теги верхнего регистра?
Это сделал это! Благодаря! – Richard