【问题标题】:Append XML responses in Python在 Python 中附加 XML 响应
【发布时间】:2021-11-09 20:10:39
【问题描述】:

我正在尝试在一个文件中解析多个 XML 响应。但是,当我写一个对文件的响应时,它只显示最后一个。我假设我需要在某处添加附加以保留所有响应。

这是我的代码:

import json
import xml.etree.ElementTree as ET

#loop test 
feins = ['800228936', '451957238']



for i in feins:
   rr = requests.get('https://pdb-services.nipr.com/pdb-xml-reports/hitlist_xml.cgi?report_type=0&id_fein={}'.format(i),auth=('test', 'test'))

   root = ET.fromstring(rr.text)
   tree = ET.ElementTree(root)

tree.write("file.xml")

【问题讨论】:

    标签: python xml api


    【解决方案1】:

    尝试改变

    for i in feins:
       ...
       tree = ET.ElementTree(root)
    
    tree.write("file.xml")
    

    到(注意缩进):

    for i in feins:
       ...
       tree = ET.ElementTree(root)
       with open("file.xml", "wb") as f:
          tree.write(f)
    

    看看它是否有效。

    【讨论】:

    • 嗨,杰克,感谢您的快速回复。我尝试了类似的东西。但是,当我尝试您的建议时,出现以下错误:TypeError: write() argument must be str, not bytes
    • @MarkoNestorovic 对不起,关于那个:不是a,而是wb。已编辑。
    • 感谢 Jack,我尝试了 wb,得到了相同的结果,只是最后一个响应,而不是两者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多