python,靓汤,xml解析

2024-09-28 05:17:34 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从以下XML获取纬度和经度值:

<?xml version="1.0" encoding="utf-8"?>
<location source="FoundByWifi">
<coordinates latitude="49.7926292" longitude="24.0538406" 
nlatitude="49.7935180" nlongitude="24.0552174" />
</location>

我试图使用get_text,但它不能以这种方式工作(

^{pr2}$

Tags: sourceversionlocationxmlutfencodinglatitudecoordinates
2条回答

Check online demo

html_doc = """
<?xml version="1.0" encoding="utf-8"?>
<location source="FoundByWifi">
<coordinates latitude="49.7926292" longitude="24.0538406" 
nlatitude="49.7935180" nlongitude="24.0552174" />
</location>
"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
lat = soup.find_all('coordinates')

for i in lat:
  print(i.attrs['latitude'])
  print(i.attrs['longitude'])

“latitude”是“coordinates”标记中的一个属性。找到坐标后,soup对象将所有属性存储在dict类型的键值存储区中。在

因此,在您的例子中,找到坐标标记后,请按如下方式检查“纬度”键:

lat = soup.find('coordinates')['latitude']

您甚至可以在开头或结尾处去掉任何无关空白的结果:

^{pr2}$

相关问题 更多 >

    热门问题