Я хочу найти определенный тег, и я могу сделать это с помощью elem.find("tag"). elem имеет тип Element.
Но я хочу переместить дочерние элементы этого дочернего элемента в родительский элемент, где находился дочерний элемент. Для этого мне нужен индекс ребенка. И я не могу найти способ найти этот индекс.
Описание API lxml содержит метод _Element.index(), но я понятия не имею, как получить экземпляр _Element из элемента. экземпляр.
Пожалуйста, подскажите, как определить этот индекс. (Это можно сделать с помощью цикла вместо find(), но мне нужен более аккуратный способ).
РЕДАКТИРОВАТЬ: вот пример XML-элемента
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
while True:
index = None
found = None
for i in range(len(parent)):
if parent[i].tag =="container":
found = parent[i]
index = i
break
if found is None:
break
offset = 0
while len(found) > 0:
parent.insert(index+offset,found[0])
offset+=1
parent.remove(found)
Код: Выделить всё
found = parent.find("container")
while found:
index = parent.index(found)
offset = 0
while len(found) > 0:
parent.insert(index+offset,found[0])
offset+=1
parent.remove(found)
found = parent.find("container")
Подробнее здесь: https://stackoverflow.com/questions/787 ... ld-in-lxml