使用 ElementTree 解析 XML 数据(NONE 或无数据)
Parsing XML data with ElementTree (NONE or no data)
我无法解析来自 URL (API) 的 XML 数据。我从 API 获取数据,如果 print(bookings_data)
我从 XML 文件获取所有数据。另外,我也可以得到标记结果,但是有一次当我尝试以文本格式获取数据时,我什么也得不到或 NONE 结果。
这是我的代码:
import requests
import xml.etree.ElementTree as ET
url = 'http://vatbook.euroutepro.com/xml2.php?fir=LQSB'
response = requests.get(url)
bookings_data = response.text
root = ET.fromstring(bookings_data)
for atcs in root.iter('booking'):
for callsign_tag in atcs.find("callsign"):
print (callsign_tag.text)
现在,当我 运行 这段代码时,我什么也没得到,我尝试了 findall 的一系列不同配置,但仍然没有结果(或者我得到 NONE)。
这里可能有什么问题?
这是 XML 文件的 URL:http://vatbook.euroutepro.com/xml2.php?fir=LQSB
(在这个 URL 中你可以使用 XML 或 XML2,我得到相同的数据)
根据 https://docs.python.org/2/library/xml.etree.elementtree.html#finding-interesting-elements 上的文档,Element.find
returns 第一个 child 带有特定标签。换句话说,它 returns 是一个元素,而不是一个可迭代对象,这意味着您不能使用 for 循环来访问它。
for atcs in root.iter('booking'):
print (atcs.find('callsign').text)
我无法解析来自 URL (API) 的 XML 数据。我从 API 获取数据,如果 print(bookings_data)
我从 XML 文件获取所有数据。另外,我也可以得到标记结果,但是有一次当我尝试以文本格式获取数据时,我什么也得不到或 NONE 结果。
这是我的代码:
import requests
import xml.etree.ElementTree as ET
url = 'http://vatbook.euroutepro.com/xml2.php?fir=LQSB'
response = requests.get(url)
bookings_data = response.text
root = ET.fromstring(bookings_data)
for atcs in root.iter('booking'):
for callsign_tag in atcs.find("callsign"):
print (callsign_tag.text)
现在,当我 运行 这段代码时,我什么也没得到,我尝试了 findall 的一系列不同配置,但仍然没有结果(或者我得到 NONE)。
这里可能有什么问题?
这是 XML 文件的 URL:http://vatbook.euroutepro.com/xml2.php?fir=LQSB (在这个 URL 中你可以使用 XML 或 XML2,我得到相同的数据)
根据 https://docs.python.org/2/library/xml.etree.elementtree.html#finding-interesting-elements 上的文档,Element.find
returns 第一个 child 带有特定标签。换句话说,它 returns 是一个元素,而不是一个可迭代对象,这意味着您不能使用 for 循环来访问它。
for atcs in root.iter('booking'):
print (atcs.find('callsign').text)