BeautifulSoup如何使用utf-8

时间:2017-03-09 19:23:00

标签: xml python-3.x beautifulsoup

您好我想在内容中创建一个包含一些法语字母的xml文档。我修改过的xml标签(通过脚本)在新的xml文件(我创建的文件)中有正确的输出,但是我没有修改的所有xml标签 都有一些意想不到的字符

#Open file
soup = BeautifulSoup(open('example2.xml'),'xml')

#...
# code that update (modify) some xml element value
#....

#write to a file
def create_a_file(content, filename = 'hello.xml'):
    f = open(filename, "w")
    f.write(str(content))
    f.close()


#.. output of the file
# I modify this tag with a script and it displays well 
<subTitl>Enquête sur le web, juillet 2010</subTitl>
# I didn't modify either the tag or the attribute but it doesn't display properly
<AuthEnty university="Université Montpellier. Centre géographique, statistique">
          ésir, Pras
        </AuthEnty>

如您所见,我没有修改名为AuthEnty的XML元素,但我有一些意想不到的字符。

问题 我怎样才能正确写出这份文件。它是否在文件未正确解析的开头?

1 个答案:

答案 0 :(得分:0)

导入编解码器。

#Open file
import codecs 
f = codecs.open('example2.xml','r','utf-8')
soup = BeautifulSoup(f.read(),"xml")
f.close()

当我编写创建xml文件时,这将显示正确的输出。