是否有xml.etree.ElementTree模块的等效项?

时间:2019-01-17 15:47:24

标签: python python-3.x google-cloud-platform google-cloud-functions libxml2

我正在使用下面的代码很好地解析一堆XML元素。

import pandas as pd
import datetime
import requests
import pandas_gbq
import xml.etree.ElementTree
REQUEST_URL = 'https://www.corporate-site/report-api/?obj_device=47116&Yesterday'
response = requests.get(REQUEST_URL, auth=(login, password))
xml_data = response.text.encode('utf-8', 'ignore') 

root = xml.etree.ElementTree.fromstring(xml_data)

desc = root.get("Description")

上面的代码在我的客户端Python 3.6设置中运行良好。我将其移至Google Cloud Function时遇到了一个大问题,因为显然Google无法识别此xml.etree.ElementTree模块。这里有人使用过Google Cloud Functions吗?如果是这样,是否有一种方法可以使远程服务器端环境设置与本地环境匹配?或者,是否存在与xml.etree.ElementTree模块等效的模块,它可以很好地解析XML语法?谢谢大家。

1 个答案:

答案 0 :(得分:2)

您可以在System Packages list中检查Python3运行时中云功能当前支持的软件包是什么。

进行快速搜索,似乎与XML相关的唯一受支持模块是libxml2。您可以查看该库here的文档。也可以检查该库的Python绑定如何工作in this examples

同样,如果此库不足以满足您要从Cloud Function中进行使用的需求,则可以在issue tracker中发出功能请求,以请求实现所请求的库。这是direct link,用于创建新的功能请求。