2016-03-27 7 views
0

私はElementTreeの中にxmlを持っています。私は、データを繰り返し処理してデータベースに保存する最良の方法を見つけようとしています。現在私は使用していますiterparse しかし、私は一度に1つの要素を印刷してから、最初に戻って次の要素に戻ることができました。ElementTreeをPythonで繰り返すDjango

どのようにデータをデータベースに処理できるように、変数に要素を割り当てることができますか?

これは私のモデルを作成する方法ですが、応答のデータにアクセスする方法を理解できません。

Product.objects.create(product_id=?, product_name=?, product_url=?, advertiser=?, designer=?, image_url=?, price=?, commission=item.text) 
+0

構文解析しようとしているサンプルXMLサンプルを表示できますか?ありがとう。 – alecxe

答えて

0

私はこれ以前のを見つけた、と私はこれがあなたのpostある推測:XMLをベース

<item id="0"> 
    <product_id> ... 
    <product_name> ... 
    <product_url> ... 
    <advertiser> ... 
    <designer> ... 
    <image_url> ... 
    <price> ... 
    <commission> ... 
</item> 

、この試してみてください。私はそれをテストしていない

for item in tree.iter('item'): 
    product_id = item.find('product_id').text 
    product_name = item.find('product_name').text 
    product_url = item.find('product_url').text 
    advertiser = item.find('advertiser').text 
    designer = item.find('designer').text 
    image_url = item.find('image_url').text 
    price = item.find('price').text 
    commission = item.find('commission').text 
    product_to_save = Product.objects.create(product_id=product_id, product_name=product_name, product_url=product_url, advertiser=advertiser, designer=designer, image_url=image_url, price=price, commission=commission) 
    product_to_save.save() 

を、しかし、かなりうまくいくはずです。

+0

ありがとうございます。私は終わり近くにいた。私はどこでもそれを見つけることができませんでしたか?あなたは、ツリーへのアクセスについてのどこへのリンクを持っていますか?それはうまくいったが、それを読むのはいいだろう。 – wuno

+0

スーパー、私はこの[リンク](https://docs.python.org/2/library/xml.etree.elementtree.html)を参考にしてください。 –

+0

ありがとうございます! – wuno

関連する問題