0
私はs3バケットにアクセスするためにurllib2ライブラリを使用しています。私はxml構造体を返す。問題は、そのキーが "part-"で始まる構造体のノードを探したい場合です。xml応答内の特定の文字列を検索する方法
リスト/配列にそれらを抽出して保存してから、後でそれらのファイルの内容を読み込みたいXML応答の
一部は
<Contents>
<Key>output/part-00000</Key>
<LastModified>2016-05-11T17:01:19.000Z</LastModified>
<ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
<Size>0</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
<Contents>
<Key>output/part-00001</Key>
<LastModified>2016-05-11T17:01:15.000Z</LastModified>
<ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
<Size>0</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
今私は、次の
import xml.etree.ElementTree as ET
f = urllib2.urlopen("https://s3.amazonaws.com/*******")
tree = ET.parse(f)
root = tree.getroot()
for child in root:
print child
出力
をしています<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Name' at 0x103a325d0>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Prefix' at 0x103a32610>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Marker' at 0x103a32690>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}MaxKeys' at 0x103a32710>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}IsTruncated' at 0x103a32750>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a32790>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a32950>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a32b10>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a32cd0>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a32e90>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e090>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e250>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e410>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e5d0>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e790>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3e950>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3eb10>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3ecd0>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a3ee90>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47090>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47250>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47410>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a475d0>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47790>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47950>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47b10>
<Element '{http://s3.amazonaws.com/doc/2006-03-01/}Contents' at 0x103a47cd0>
私はminidomとxml.etree.ElementTreeを使用してさまざまなソリューションを試しましたが、私はそれを正しく取得できません。
だから私は、これらのXMLノードをループして、part - *****のすべての参照を見つけ、それらを配列に保存します。
任意のヘルプ/手がかりは/
ポストにあなたが試した、何が間違っていたと我々はそれを修正するコードを歓迎されています。 –
@AlexHallねえ、コンソール出力と一緒に上記と一緒に試したことを確認できます。 –
これはスタートです。すべてのノードがあります。 "問題は、そのキーが" part - ""で始まるその構造内のノードを探したいと思うことです。 –