0
У меня есть входной файл вида:LXML: скопировать и переименовать кучу элементов
<article>
<pages>
<list-item>content of page 1</list-item>
<list-item>content of page 2</list-item>
<list-item>content of page 3</list-item>
</pages>
</article>
Я хочу, чтобы преобразовать его в другой файл XML выглядит как
<text>
<page>content of page 1</page>
<page>content of page 2</page>
<page>content of page 3</page>
</text>
Следующая уродливый кусок кода делает то, что я хочу добиться:
oldtree = etree.parse(infile)
newtree = etree.Element("text")
newtree.append(oldtree.find("pages"))
outfile.write(etree.tostring(newtree).replace(u"<pages>", u"").replace(u"</pages>",u"").replace(u"<list-item>", u"<page>").replace("</list-item>", u"</page>"))
уродливый часть является путаница преобразований XML с грубой Forc e замены. Есть ли более чистый и прекрасный способ достичь моей цели?
Вы отметили этот XSLT, но вы не используете его по какой-то причине. –