Je ne sais pas comment mais element.find('./@attrname')
soulève KeyError: '@'
code
import lxml.etree as ET
with open(self.filepaths[0]) as f:
root = ET.parse(f)
root = root.getroot()
namespaces = {'xmlns': 'http://www.iai-shop.com/developers/iof/extensions.phtml',
"xml": "http://www.w3.org/XML/1998/namespace"}
items = root.findall('.//product', namespaces)
for item in items:
name = item.find('./description/short_desc[@xml:lang="pol"]', namespaces).text
try:
desc = item.find('./description/long_desc[@lang="pol"]', namespaces).text
except AttributeError:
desc = None
code = item.find('./@code_on_card',namespaces)
J'essaie d'obtenir code_on_card
de l'attribut <product type="xxx" id="xxx" vat="23.0" code_on_card="xxx">
Savez-vous où est le problème ?