Я пытаюсь обновить атрибут для дочернего элемента, а затем записать этот обновленный элемент в документ. Я столкнулся с этой ошибкой: «AttributeError: экземпляр элемента не имеет атрибута« getiterator »Python и XML: обновить атрибут и записать проблемы с файлом
Я сделал это после сборки кучи учебников и ресурсов, поэтому дайте мне знать, если что-то еще выделяется (не слишком уверенно что я делаю). Благодаря!
Вот что я до сих пор:
Внутри XML документ:
<?xml version="1.0" ?>
<notes>
<prepData a_assetType="Geometry" b_assetSel="[u'pPyramid1', u'pTorus1']"/>
<prepData a_assetType="Rig" b_assetSel="[u'pPyramid1']"/>
<prepData a_assetType="Controls" b_assetSel="[u'pPyramid1']"/>
</notes>
код записи XML:
xml_file_path = "{0}/{1}_prepData.xml".format(info_dir, asset_type)
doc = ET.parse(xml_file_path)
dom = parse(xml_file_path)
root = doc.getroot()
nodes = dom.getElementsByTagName('prepData')
match = []
for node in nodes:
if node.attributes['a_assetType'].value == asset_type:
match.append(node)
for node in match:
node.setAttribute("b_assetSel", str(asset_sel))
out = ET.tostring(node)
dom = minidom.parseString(out)
xml_file = open("{0}/{1}_prepData.xml".format(info_dir, asset_name), "w")
xml_file.write(dom.toprettyxml())
xml_file.close()
Это сработало! Большое объяснение тоже, спасибо за то, что нашли время: D –