我正在尝试解析以下 XML 数据:
这只是我将遇到的两种数据的示例。拥有所需地址信息的公司和没有所需信息的公司。
从数据中我需要收集 3 条信息:
1) 公司名称
2) 公司街道
3) 公司邮编
我可以使用以下代码执行此操作:
#Creates list of Company names
CompanyList = []
for company in xmldata.findall('company'):
name = company.find('name').text
CompanyList.append(name)
#Creates list of Company zipcodes
ZipcodeList = []
for company in xmldata.findall('company'):
contact_data = company.find('contact-data')
address1 = contact_data.find('addresses')
for address2 in address1.findall('address'):
ZipcodeList.append(address2.find('zip').text)
#Creates list of Company streets
StreetList = []
for company in xmldata.findall('company'):
contact_data = company.find('contact-data')
address1 = contact_data.find('addresses')
for address2 in address1.findall('address'):
StreetList.append(address2.find('street').text)
但它并没有真正做我想做的事,我不知道如何做我想做的事。我相信这将是某种类型的“如果”陈述,但我不知道。
问题是我有:
for address2 in address1.findall('address'):
ZipcodeList.append(address2.find('zip').text)
和
for address2 in address1.findall('address'):
StreetList.append(address2.find('street').text)
它只会将实际上在 XML 中列出的街道名称或邮政编码的地方添加到列表中,但我需要为也没有列出该信息的公司添加一个地标,以便我的列表匹配。
我希望这是有道理的。让我知道是否需要添加更多信息。
但是,基本上,我试图找到一种方法来说明公司是否没有邮政编码/街道名称,如果没有,则输入邮政编码/街道名称。
任何帮助/指导表示赞赏。