Разбор XML-файла и создание другого из проанализированного объекта - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь проанализировать XML-файл (содержащий плохие символы), используя модуль lxml в режиме recover = True.Ниже приведен фрагмент кода

from lxml import etree
f=open('test.xml')
data=f.read()
f.close()
parser = etree.XMLParser(recover=True)
x = etree.fromstring(data, parser=parser)

Теперь я хочу создать еще один XML-файл (test1.xml) из вышеуказанного объекта (x). Может ли кто-нибудь помочь в этом вопросе.

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2018

Я думаю, это то, что вы ищете

from lxml import etree

# opening the source file
with open('test.xml','r') as f:
    # reading the number
    data=f.read()

parser = etree.XMLParser(recover=True)
# fromstring() parses XML from a string directly into an Element
x = etree.fromstring(data, parser=parser)

# taking the content retrieved
y = etree.tostring(x, pretty_print=True).decode("utf-8")

# writing the content on the output file
with open('test1.xml','w') as f:
    f.write(y)

Хорошего дня

...