当我的脚本一次从 Intacct100 xml object
中提取数据时,一切工作正常,使用 myresultid
记住偏移量并拉下一次,由于某种原因,它进入了一个循环并抛出一个错误,说not well-formed (invalid token): line 1, column 57565
知道我在始终使用相同的凭据。抛出该错误后,它会跳过 100 个对象并移动到下一个对象并继续提取数据。
我的问题是:出现错误后如何回滚,以便resultid
在抛出错误时不会跳过数据?是否有一个函数或我应该添加到我的 XML 查询中的东西?
请参阅下面的我当前的 XML 查询。
谢谢!
headers = {'Content-type': 'x-intacct-xml-request'}
API_URL = 'https://api.intacct.com/ia/xml/xmlgw.phtml'
req_shell_next="""<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE request SYSTEM "intacct_request.v2.1.dtd">
<request>
<control>
<senderid>%s</senderid>
<password>%s</password>
<controlid>testRequestId</controlid>
<uniqueid>false</uniqueid>
<dtdversion>3.0</dtdversion>
<includewhitespace>false</includewhitespace>
</control>
<operation>
<authentication>
<login>
<userid>%s</userid>
<companyid>%s</companyid>
<password>%s</password>
</login>
</authentication>
<content>
<function controlid="PostJSONObjectCID">
<readMore>
<resultId>%s</resultId>
</readMore>
</function>
</content>
</operation>
</request>"""
request_data_next = urllib2.Request(API_URL, req_shell_next % (auth_info_senderid, auth_info_password, auth_info_userid, auth_info_companyid, auth_info_userpw, resultId ), headers)
response_str_data_next = urllib2.urlopen(request_data_next).read()
response_xml_data_next = ET.ElementTree(ET.fromstring(response_str_data_next))