如何更改打印的xml数据的编码并仍然删除命名空间?

时间:2016-04-28 15:34:30

标签: python xml encoding namespaces iterparse

我需要从多个xml文件中检索大量信息。我正在尝试创建一个webscraper,但我仍然在编译时遇到问题,同时仍然剥离了所有命名空间(参见代码)。 xml文件的内容以丹麦文写成,并包含特殊字符“æøå”。

如何在删除名称空间的同时更改打印的xml数据的文件编码?

import urllib
from StringIO import StringIO
from xml.etree import ElementTree as ET
import re

url = "http://loremIpsum.co "
xmlString = urllib.urlopen(url).read() #data with namespaces

it = ET.iterparse(StringIO(xmlString))

for _, el in it:
    if '}' in el.tag:
        el.tag = el.tag.split('}', 1)[1]  # strip all namespaces
root = it.root


print root.findtext("loremIpsum/loremIpsum")

如果root.findtext("loremIpsum/loremIpsum")是特殊字符“ø”,则为当前打印输出:

u'\xd8

预期产出:

ø

0 个答案:

没有答案