2011-05-22 41 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)刪除命名空間信息。然後,我只是將字符串正常寫入磁盤。