2016-06-19 1 views
0

Так что если у меня был следующий тег:Получение ключа и значения атрибутов в XML-тега

<ana lex="ун" morph="ың" gr="NUM,poss.2sg" trans="десять" /> 

Я хочу, чтобы извлечь не только значение, но более конкретно имена атрибутов. Я уже пробовал использовать имена функционируют как так (где АНА выше тег):

at_names = ana.xpath('name(@*)') 

Однако это только возвращает имя атрибута «ЛЕКС». Как я могу получить список всех имен атрибутов в теге?

ответ

2

Вы можете просто позвонить .items, чтобы получить имя и значение:

In [3]: import lxml.etree as et 

In [4]: x = et.fromstring("""<ana lex="ун" morph="ың" gr="NUM,poss.2sg" trans="десять" />""") 

In [5]: x.attrib 
Out[5]: {'trans': 'десять', 'lex': 'ун', 'gr': 'NUM,poss.2sg', 'morph': 'ың'} 

In [6]: x.items() 
Out[6]: [('lex', 'ун'), ('morph', 'ың'), ('gr', 'NUM,poss.2sg'), ('trans', 'десять')] 

Или просто .keys, чтобы получить имена:

In [7]: x.keys() 
Out[7]: ['lex', 'morph', 'gr', 'trans'] 
+0

Спасибо. Я понятия не имел, что в буквальном смысле это атрибут называется «атрибут». Отлично! – JJ47

 Смежные вопросы

  • Нет связанных вопросов^_^