2010-12-16 8 views
4


私はWebサービスから製品のリストを取得するためにsudsライブラリを使用しています。Python、suds、配列の応答を管理

これはサンプルコードです:

from suds.client import Client 
url = 'WSDLURL' 
client = Client(url) 
result = client.service.Research('value') 

結果が含まれています

(ArrayOfProducts){ 
    Product[] = 
     (Product){ 
     Id = 218 
     Code = "C024" 
     Name = "test2" 
     Avaiable = True 
     UrlDownload = None 
     MetaData = 
      (ArrayOfMetaData){ 
       MetaData[] = 
        (MetaData){ 
        CoderepositoryISO = "16701" 
        Title = "1ST" 
        }, 
      } 
     }, 
     (Product){ 
     Id = 219 
     Code = "C025" 
     Name = "test3" 
     Avaiable = True 
     UrlDownload = None 
     MetaData = 
      (ArrayOfMetaData){ 
       MetaData[] = 
        (MetaData){ 
        CoderepositoryISO = "16702" 
        Title = "2ND" 
        }, 
      } 
     }, 
... 

方法はと製品に含まれるデータのサイクリングに直接アクセスするには、Pythonや泡で、ありますために? (例:Product.Id、Product.Codeなど)

+0

はSOへようこそ。コードをフォーマットするには、編集フィールドの上にあるフォーマットコードボタンを使用してください。 –

+0

また、あなたのリストをどのようにしたいかの例を挙げてください(リストではなく配列であると思います)。 –

+0

done ;-)ありがとう – insecta

答えて

4

パーフェクト... JFセバスチャンのおかげで、私は右の方法を見つける... これは、作業コードです:

from suds.client import Client 
url = 'wsdl' 
client = Client(url) 
html_out = "" 
result = client.service.Research('a') 
for p in result.Product: 
    print p.Id 
    print p.Name 
+0

答えの左側にあるチェックボックスのアウトラインをクリックすると、回答を受け入れられた回答としてマークできます。http://stackoverflow.com/faq – jfs