【发布时间】:2014-04-10 03:08:54
【问题描述】:
假设你有一些类似这样结构的 XML,但可以使用这些标签以更深层次的相同标签名称形成任何形状,并且可能以奇怪的方式重用:
<a>
<b>
<c />
</b>
<b>
<c />
</b>
<b>
<b>
<d>
<b>
<e>
<f>
<c />
</f>
</e>
</b>
<b>
<e>
<f>
<c />
</f>
</e>
</b>
</d>
</b>
</b>
<b>
<b>
<c />
</b>
</b>
</a>
我想让它按照它们从上到下出现的顺序一个接一个地遍历每个标签,重复的标签可以以任何顺序或结构使用。我想使用beautifulsoup 逐个浏览每个标签。例如:
soup = BeautifulSoup(xmlcode, "xml")
for asd in soup.findAll(True, recursive=False):
print asd.prettify()
print "---------"
所有这些返回都是一个大的 bs4.element.Tag。我希望它按照它们出现的顺序返回 19 行。基本上我想做的就是使用一个循环或尽可能少的循环遍历每个标签。如果可能的话,我愿意接受比 beautifulsoup 更好的选择。
【问题讨论】:
标签: python xml beautifulsoup