Naf*_*Kay 4 python xml encoding
我有一些XML文件,我想用脚本处理它们,将它们从它们所处的任何编码转换为UTF-8.
使用这个伟大答案中给出的代码我可以进行转换,但是如何读取XML头中给出的编码?
例如,我有许多已经使用UTF-8的文件,应该保留下来:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
但是,我有很多的哪些文件中也需要转换:
<?xml version="1.0" encoding="windows-1255"?>
Run Code Online (Sandbox Code Playgroud)
如何在Python中检测这些文件的标头中指定的XML编码?更好的是,在我检测并重新编码文件后,如何将此XML标头更改为"utf-8"以避免将来处理它?
用lxml做分析; 然后,您可以访问原始编码:
from lxml import etree
with open(filename, 'r') as xmlfile:
tree = etree.parse(xmlfile)
if tree.docinfo.encoding == 'utf-8':
# already in correct encoding, abort
return
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用lxmlUTF-8再次写入文件.
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |