嗨,我想从第三方应用程序接收XML文件。我想过使用REST,但这在OpenERP 7中不可用。任何其他解决方案都可以这样做。XML文件包含发票数据,当收到发票数据时,必须创建帐户的新记录。
通过 SFTP 共享文件夹
你的意思是你没有可用的XMLRPC
?您可以共享本地服务器文件夹(例如通过sftp
),第三方应用程序可以将文件暂时保留在那里。处理文件时,您已经可以将其删除。
XMLRPC 的替代品>> JSONRPC 和控制器
您也可以使用控制器,但您需要在此处使用 JSONRPC。也许您可以将纯 xml 文件包含在一个 JSON 字段中。
但我认为控制器只是为OpenERP内部目的而构建的。检查我遇到的问题:问题 1、问题 2
注意:请注意,使用此解决方案,您只需要在OpenERP实例中使用一个数据库。
处理 XML 文件
如果要读取 XML 文件,可以使用lxml
库。检查其他答案:
从 XML 构建
e
元素实例后,例如使用 XML 函数,或者通过使用类似的东西解析文件import xml.etree.ElementTree e = xml.etree.ElementTree.parse('thefile.xml').getroot()
或
ElementTree
上显示的许多其他方式中的任何一种,您只需这样做 像这样:for atype in e.findall('type'): print(atype.get('foobar'))