我有这样的代码:
import requests
user_agent_url = 'http://www.user-agents.org/allagents.xml'
xml_data = requests.get(user_agent_url).content
这会将在线xml文件解析为xml_data
。如何从本地磁盘文件解析它?我尝试用路径替换本地磁盘,但收到错误:
raise InvalidSchema("No connection adapters were found for '%s'" % url)
InvalidSchema: No connection adapters were found
有什么必须做的?
您可以使用open方法读取文件内容,然后使用elementtree模块XML函数来解析它。
它返回一个可以循环的etree对象。
例
Content = open("file.xml").read()
From xml.etree import XML
Etree = XML(Content)
Print Etree.text, Etree.value, Etree.getchildren()
请注意,您引用的代码不会解析文件 - 它只是将XML数据放入xml_data
。本地文件的等价物根本不需要使用requests
:只需写入
with open("/path/to/XML/file") as f:
xml_data = f.read()
如果您决定使用requests
,请参阅this answer以了解如何编写文件URL适配器。