我正在尝试将ElementTree对象写入磁盘。一切正常,但输出文件如下所示:
<html:html lang="en-US" xml:lang="en-US" xmlns:html="http://www.w3.org/1999/xhtml">
<html:head>
<html:title>vocab</html:title>
<html:style type="text/css"> ...
由于它有html:
命名空间信息,浏览器无法呈现它。
如何在不使用html:
命名空间信息的情况下将某些html保存到磁盘?
这是我用来写的代码:
with open('/path/to/file.html', mode='w', encoding='utf-8') as outfile:
mypage.write(outfile)
谢谢!
答案 0 :(得分:1)
我一直在使用此解决方法:
from xml.etree import ElementTree as ET
ET.register_namespace('', 'http://www.w3.org/1999/xhtml')
然后,html:
前缀将在输出时替换为空格。
答案 1 :(得分:0)
嗯,我已经开始工作,但是采用了一种迂回的方法。
我正在为树获取一个字符串(使用etree.tostrng()
),然后使用re.sub('html:', '', thetext)
删除命名空间信息。然后,我只是将字符串正常写入磁盘。