以下是一个使用BeautifulSoup和OpenStreetMap XML解析嵌套标签和属性的示例代码:
from bs4 import BeautifulSoup
# OpenStreetMap XML示例数据
xml_data = """
"""
# 创建BeautifulSoup对象并解析XML数据
soup = BeautifulSoup(xml_data, "xml")
# 获取所有的node标签
nodes = soup.find_all("node")
# 遍历每个node标签
for node in nodes:
# 获取id属性值
node_id = node.get("id")
print("Node ID:", node_id)
# 获取lat和lon属性值
lat = node.get("lat")
lon = node.get("lon")
print("Latitude:", lat)
print("Longitude:", lon)
# 获取tag标签
tags = node.find_all("tag")
# 遍历每个tag标签
for tag in tags:
# 获取k和v属性值
k = tag.get("k")
v = tag.get("v")
print("Key:", k)
print("Value:", v)
print("--------------------")
此代码将输出:
Node ID: 1
Latitude: 52.520
Longitude: 13.386
Key: name
Value: Berlin
--------------------
Node ID: 2
Latitude: 48.856
Longitude: 2.352
Key: name
Value: Paris
--------------------
这个示例代码演示了如何使用BeautifulSoup解析OpenStreetMap XML中的嵌套标签和属性。它首先创建了一个BeautifulSoup对象来解析XML数据,然后使用find_all
方法获取所有的node标签。然后,它遍历每个node标签,并使用get
方法获取id、lat和lon属性值。最后,它使用find_all
方法获取tag标签,并遍历每个tag标签以获取k和v属性值。