ElementTreeでEUC_JPとかShift_JISのxmlを読み込む方法

PythonXMLを操作したい場合はElementTreeってのを使うといいらしいです。
ところが、euc-jpとかsjisエンコーディングされたテキストをElementTreeに食わせようとすると

xml.etree.ElementTree.ParseError: unknown encoding: line 1, column 30

とかほざきやがります。euc-jpもsjisも知らないらしいです。アメ公ふざけんな。

ここから対処法

XMLの1行目にXML宣言が

<?xml version="1.0" encoding="euc-jp"?>

こんなふうに書かれてると思います。こいつを削除した上で、エンコーディングをUTF8に変えてやります。

import xml.etree.ElementTree as ET

lines = xml_string.split("\n")
xml_string = "\n".join(lines[1:])
xml_string = xml_string.decode(API.encoding).encode('utf8')
et = ET.fromstring(xml_string)

これでおkです。なんか釈然としない解決策ですが、、、