Използвам lxml, за да анализирам някои xml, но по някаква причина не мога да намеря конкретен елемент.
Опитвам се да получа достъп до елементите <Constant>
.
Ето един xml фрагмент:
</rdf:Description>
</rdf:RDF>
</MiriamAnnotation>
<ListOfSubstrates>
<Substrate metabolite="Metabolite_5" stoichiometry="1"/>
</ListOfSubstrates>
<ListOfModifiers>
<Modifier metabolite="Metabolite_9" stoichiometry="1"/>
</ListOfModifiers>
<ListOfConstants>
<Constant key="Parameter_4344" name="Kcat" value="433.724"/>
<Constant key="Parameter_4343" name="km" value="479.617"/>
Кодът, който използвам, е такъв:
>>> from lxml import etree as ET
>>> parsed = ET.parse('ct.cps')
>>> root = parsed.getroot()
>>> for a in root.findall(".//Constant"):
... print a.attrib['key']
...
>>> for a in root.findall('Constant'):
... print a.get('key')
...
>>> for a in root.findall('Constant'):
... print a.attrib['key']
...
Както можете да видите, нито едно от тези неща не работи.
какво правя грешно
РЕДАКТИРАНЕ: Чудя се дали има нещо общо с факта, че <Constant>
елемента са празни?
РЕДАКТИРАНЕ 2: Източник xml тук: https://www.dropbox.com/s/i6hga7nvmcd6rxx/ct.cps?dl=0