ElementTree: извлечь значение атрибута с помощью findall и добавить значение в список ⇐ Python
ElementTree: извлечь значение атрибута с помощью findall и добавить значение в список
Хотел извлечь значение атрибута имени из тега inter, а также добавить имя группы к тегу имени, если он присутствует. Я попытался извлечь с помощью xml.etree.ElementTree, но мой код не дает ожидаемого результата.
Ввод XML
дублировать статус рабочие журналы ним-нас 999 молочные продукты slm.sh тебе-11 180000 180000 120000 xmas_size=1200000 of_obopaying_threads=2 120000 xmas_size=1200000 Я попробовал приведенный ниже код, чтобы извлечь значение
Проверенный код
tree=ET.parse('test.xml') корень = дерево.getroot() xm_subs=[] для субна в root.findall(".//inter/works/work[@run='jbs'][@kind='obopay']/../.."): sname=subn.attrib["имя"] для subg в root.findall(".//inter[@name='%s']/jobs/job[@run='jbs'][@kind='obopay'][@groups]" % sname): groups=subg.attrib['группы'] для gname в groups.split(","): sub_name=subn.attrib["имя"] + "-" + gname xm_subs.append(имя_sub_) еще: xm_subs.append(subn.attrib["имя"]) распечатать xm_subs Обязательный результат
['nim_turk','nim_us_m-groupA','nim_us_m-groupB']
Хотел извлечь значение атрибута имени из тега inter, а также добавить имя группы к тегу имени, если он присутствует. Я попытался извлечь с помощью xml.etree.ElementTree, но мой код не дает ожидаемого результата.
Ввод XML
дублировать статус рабочие журналы ним-нас 999 молочные продукты slm.sh тебе-11 180000 180000 120000 xmas_size=1200000 of_obopaying_threads=2 120000 xmas_size=1200000 Я попробовал приведенный ниже код, чтобы извлечь значение
Проверенный код
tree=ET.parse('test.xml') корень = дерево.getroot() xm_subs=[] для субна в root.findall(".//inter/works/work[@run='jbs'][@kind='obopay']/../.."): sname=subn.attrib["имя"] для subg в root.findall(".//inter[@name='%s']/jobs/job[@run='jbs'][@kind='obopay'][@groups]" % sname): groups=subg.attrib['группы'] для gname в groups.split(","): sub_name=subn.attrib["имя"] + "-" + gname xm_subs.append(имя_sub_) еще: xm_subs.append(subn.attrib["имя"]) распечатать xm_subs Обязательный результат
['nim_turk','nim_us_m-groupA','nim_us_m-groupB']
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение пустого словаря в качестве атрибута при анализе XML с XML.ETREE.ElementTree
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python – AttributeError: объект «NoneType» не имеет атрибута «findAll»
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-