Я пытаюсь вставить элемент в определенный дочерний узел дочернего узла в большой документ XML (~ 2000 строк), ниже мой код:
import xml.etree.cElementTree as ET
class Kapow_commands:
tree = ET.parse('location/of/xml/file')
root = tree.getroot()
seq_id = 39
def __init__(self):
pass
def append(self, block):
node_num=0
for node in Kapow_commands.root[13][1]:
node_num=node_num+1
if node.get('class') == 'End':
node.attrib['id'] = str(Kapow_commands.seq_id + 1)
print(node.attrib)
print(node_num)
Kapow_commands.root[13][1].insert(node_num -1, block)
block = ET.Element("test")
Kapow_commands().append(block)
этот код сканирует файл XML по адресуопределенный узел для class = 'End', затем он добавляет 1 к этому идентификатору элемента и вставляет другой элемент перед ним.Однако, когда я запускаю это, создается впечатление, что создается бесконечный цикл, поскольку он не останавливает вставку элементов в этой позиции.У кого-нибудь есть идеи, почему это может происходить?Или есть идеи, как правильно вставить этот элемент в нужную позицию?