2011-05-22 84 views
3

我试图写一个ElementTree对象到磁盘。一切正常,除了输出文件看起来像这样:Python/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:命名空间信息,浏览器无法呈现它。

我该如何让etree在没有html:命名空间信息的情况下将一些html保存到磁盘?

下面的代码我用写:

with open('/path/to/file.html', mode='w', encoding='utf-8') as outfile: 
mypage.write(outfile) 

谢谢!

回答

0

嗯,我有它的工作,但有一种迂回的方法。

我得到树的字符串(使用etree.tostrng()),然后使用re.sub('html:', '', thetext)删除命名空间信息。然后,我只是将字符串正常写入磁盘。