如何解决从 URL 解析 XML 并从标签获取信息
我尝试使用 python 从 XML 中的标签“CRS”中获取信息并收集所有 CRS 标签,或者我稍后将编辑代码以检查特定的 CRS。
网址:https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities
我可以获取数据,但我不知道如何从正确的标签中获取信息。
这是我目前的代码:
import urllib.request,urllib.parse,urllib.error
import xml.etree.ElementTree as ET
url = 'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
uh = urllib.request.urlopen(url)
data = uh.read()
tree = ET.fromstring(data)
从这里我不知道如何处理 tree.find() 或 tree.findall()
谢谢。
解决方法
所以,这就是我所做的。我需要检查 XML 是否包含 CRS EPSG:3857。因此,我没有获取 CRS 标签中的所有信息,而是通过测试解析的 XML 是否包含文本“EPSG:3857”来解决这个问题。
import urllib.request,urllib.parse,urllib.error
import xml.etree.ElementTree as ET
url = 'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
uh = urllib.request.urlopen(url)
data = uh.read()
projection = "EPSG:3857"
if projection in str(data):
print("Contains")
else:
print("Contains not")
现在在另一个程序中实现以搜索多个 XML 文件。
,试试这个。
from simplified_scrapy import req,SimplifiedDoc
xml = req.get(
'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
)
doc = SimplifiedDoc(xml)
listCRS = doc.selects('CRS')
print(listCRS)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。