2010年5月5日水曜日

Python GAE AWS:AWS の 返した xml を ElementTree で使うには、

 AWS の返した xml、minidom でうまく解析できたので、ElementTree を使ってみようと思ったらうまくいかない。
 テストコードを書いて、XML を切り貼りしながら調べていくと、調べるほど動きが不思議。
 何度かネットで調べていくと、こんなページを見つけた。元凶はxmlns 属性だそうな。むー。こちらでは6時間嵌ってあきらめた人もいるようだから、原因が見つかっただけマシか。ま、おいらも6時間ぐらいドブに捨てたけど。

 さて、ここからどうするか。minidom に戻るか、xml.sax にするか、ElementTree でもう少しがんばるか。

----
 結局、xmlns 属性を削除することにした (^^;。正規表現を使ってこんな感じ。
import re
t = re.search('xmlns=".*?"',xml)
xml = xml[0:t.start()] + xml[t.end():]
 恐るべし Python、てか、いまどきの LL はこれぐらいのことはフツーに出来るんだろうが、C/C++ が長かったせいか浦島太郎状態。


 

0 件のコメント:

コメントを投稿