首先,这不是一个重复的问题(感谢您没有将其标记为重复!)
在我的xml文件中,有以此样式注释的字段:
<series>lecture</series>
<date>Wed, 23 Sep 2015 16:00:00 </date>
<duration><!-- 0:30 --></duration>
<room><!--MI 01.11.114 --></room>
<language>en</language>
标签<duration>
和<room>
内的。我使用beautifuloup使用以下脚本从其某些实体制作一个简单的html文件:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("metadata.xml"))
soup.prettify()
print("<br>")
print(soup.series)
print("</br>")
print("<br>")
print(soup.date)
print("</br>")
print("<br>")
print(soup.duration)
只是为了在html页面上获得如下所示的简单概述(使用:python test.py >> test.html
):
lecture
0:30
MI 01.11.114
但是字段的空间和持续时间都没有了,我得到了这个:
lecture
如何从这些字段中删除<!-- -->
,以便能够将其显示为series
代码?
p.s:这不是微不足道的,但我也想知道是否有办法获得如下所示的最终结果(显示剥离的标签,在其内容旁边)
series: lecture
duration: 0:30
room: MI 01.11.114
这一定是一个简单的问题,但我有些失落,感谢任何形式的帮助。
答案 0 :(得分:1)
Comment对象只是一种特殊类型的NavigableString:
你可以通过以下方式获取它们:
print(soup.room.string)
print(soup.duration.string)
循环键/值:
for elt in ('series', 'duration', 'room'):
print('%s: %s' % (getattr(soup, elt).name, getattr(soup, elt).string))