XML のエンコーディングを UTF-8 にする関数
pulldom が EUC-JP 他に対応していなかったので作った手抜き関数.
def xml_encoding_hack(xml): s = xml.splitlines()[0] if s.find('<?xml') == -1: return xml import re e = re.compile('encoding="([^"]+)"') m = e.search(s) if m == None: return xml try: xml = xml.decode(m.group(1)).encode('utf-8') except: return xml x = xml.splitlines() x[0] = e.sub('encoding="UTF-8"', x[0]) return '\n'.join(x)