gpt4 book ai didi

python - LXML 杀死了我的 CDATA 部分

转载 作者:太空狗 更新时间:2023-10-29 21:24:12 24 4
gpt4 key购买 nike

我正在批量转换大量 XML 文件,将它们的字符编码更改为 UTF-8:

with open(source_filename, "rb") as source:
tree = etree.parse(source)

with open(destination_filename, "wb") as destination:
tree.write(destination, encoding="UTF-8", xml_declaration=True)

不幸的是,它正在破坏我的 CDATA 部分,而只是转义它们。

来源:

<d><![CDATA[áÌÀøÅàùÑÄéú ëÌÄé áÈàÅùÑ éäå''ä ðÄùÑÀôÌÈè <small><small>(ùí ëå èæ)</small></small>

目的地:

<d>בְּרֵאשִׁית כִּי בָאֵשׁ יהו''ה נִשְׁפָּט &lt;small&gt;&lt;small&gt;(שם כו טז)&lt;/small&gt;&lt;/small&gt;

有没有我可以设置的设置,告诉它不要理会我的 CDATA 部分?我主要使用 LXML 来更改字符编码并正确编写 XML header 。

最佳答案

使用 strip_cdata=False option :

import lxml.etree as etree
parser = etree.XMLParser(strip_cdata=False)
with open(source_filename, "rb") as source:
tree = etree.parse(source, parser=parser)

关于python - LXML 杀死了我的 CDATA 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com