Я пытаюсь вставить небольшую структуру xml в указанное c место в уже существующем xml файле:
<not>
<elt>
<isVal>Y</isVal>
</elt>
</not>
Мой код выглядит так:
import lxml.etree as ElementTree;
tree = ElementTree.ElementTree()
tree.parse(file_path)
root = tree.getroot();
ruleElement = tree.find('.//rule');
for child_n in ruleElement:
if (child_n.tag == 'and'):
print "Found rule - and"
ruleElement.insert(0, tree.XML("<not><elt><isVal>Y</isVal></elt></not>"))
Я получаю следующую ошибку: AttributeError: объект 'l xml .etree._ElementTree' не имеет атрибута 'XML'
Я также пробовал:
for child_n in ruleElement:
if (child_n.tag == 'and'):
print "Found rule - and"
child_n.Element(child_n, 'test_insert').text = 'test'
child_n.insert(1, item[0])
Это дает: AttributeError: объект 'l xml .etree._ElementTree' не имеет атрибута 'Element'
Пробовал как SubElement, получил то же сообщение об ошибке: AttributeError: объект 'l xml .etree._Element' не имеет атрибута 'SubElement'
Я получил идеи о том, как это сделать, из других похожих вопросов, но он просто, похоже, не хочет принимать Element, SubElement или XML в качестве приемлемых атрибутов. Что я делаю не так?
Я использую Python 2.6, обновление невозможно.