解析一个xml文件并从解析的对象创建另一个

时间:2018-09-21 11:59:27

标签: python lxml

我正在尝试使用recover = True模式下的lxml模块来解析一个包含错误字符的xml文件。 下面是代码片段

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

现在,我想从上述对象(x)创建另一个xml文件(test1.xml)。 任何人都可以在这件事上帮忙。

谢谢

1 个答案:

答案 0 :(得分:1)

我认为这就是您要搜索的

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)

祝你有美好的一天