Предположим, у вас есть lmxl.etree элемент с содержимым, например:Как создать подмножество документа с помощью lxml?
<root>
<element1>
<subelement1>blabla</subelement1>
</element1>
<element2>
<subelement2>blibli</sublement2>
</element2>
</root>
я могу использовать найти или методы XPath, чтобы получить что-то элемент визуализации что-то вроде:
<element1>
<subelement1>blabla</subelement1>
</element1>
Есть ли способ простой получить:
<root>
<element1>
<subelement1>blabla</subelement1>
</element1>
</root>
т.е. элемент интереса плюс все это предки вплоть до Docum корень?
Вы хотите, чтобы все предки выбранного элемента? Как насчет братьев и сестер на разных уровнях, если их следует удалить? Ваш пример не дает понять. – audiodude
Да, они также должны быть удалены .. результирующим подмножеством должны быть выбранные элементы плюс его предки «опустели» –
Я хотел бы, чтобы вас доказали неправильно, но я не думаю, что вы найдете * простой * способ сделать это, например doc_root.strip_everything_but_child_by_xpath ('// some/xpath/element1'). Вам придется пройти DOM на основе того, где вы найдете свой элемент, и вырезать/удалить узлы вручную. – audiodude