如何在python中从xml标记中检索日期?

如何在python中从xml标记中检索日期?,python,xml,parsing,beautifulsoup,date-formatting,Python,Xml,Parsing,Beautifulsoup,Date Formatting,我正在解析一个大的XML文件,从中我对某个特定日期感兴趣。此时,我能够将搜索范围缩小到一个小列表,如下所示: 日期列表=[15,10,2020] 我需要的是格式如下的日期: 15-10-2020 我该怎么做?谢谢 考虑按原样使用XML标记。我用了漂亮的汤。如果标签的顺序不总是相同的,你可以用它来解析标签和文本内容 date_list = ['<day>15</day>', '<month>10</month>', '<year>2020

我正在解析一个大的XML文件,从中我对某个特定日期感兴趣。此时,我能够将搜索范围缩小到一个小列表,如下所示:

日期列表=[15,10,2020]

我需要的是格式如下的日期:

15-10-2020

我该怎么做?谢谢


考虑按原样使用XML标记。我用了漂亮的汤。

如果标签的顺序不总是相同的,你可以用它来解析标签和文本内容

date_list = ['<day>15</day>', '<month>10</month>', '<year>2020</year>']

new_date = []

for elem in date_list:
    new_date.append(elem.split(">")[1].split("<")[0])

new_date = "-".join(new_date)

print (new_date)
从xml.etree导入ElementTree作为ET 日期列表=['15','10','2020'] 创建一个空的dict a_date_dict={} 对于日期列表中的日期标签: 将字符串解析为ElementTree el=ET.fromstringdate\U标签 提取数据 a_date_dict[el.tag]=intel.text 在此阶段,您可以输出字符串 打印“{day}-{month}-{year}”。格式**a_date_dict 或者创建一个日期对象 起始日期时间导入日期 日期=日期**日期 或者如果您喜欢OneLiner并使用python 3.8 a_date=date**{b:=ET.fromstringa.tag:intb.text用于日期列表} 如果date_列表中的项目是Beauty Soup library中的标记对象,那么您应该能够使用contents属性

打印“{}-{}-{}”。格式*[a.contents[0]用于输入日期列表]
标签呢?将标记视为标记。您已将其拆分为>,这是什么意思,是xml标记。我想把它们当作标签一样。我将对许多xml文件执行此操作。因此,请检查您的问题,这是不合适的。我的回答回答了你的问题。列表中的标记是否保证按顺序排列?所以列表项是标记对象,而不是字符串?然后您可以使用tag_object.contents[0]提取内部文本。另见答案。
15-10-2020