我正在使用的XML具有这种格式-
<head>
<body>
Sample Text1
</body>
<body>
Sample Text2
</body>
</head>
我正在尝试将带有标签<body>
的所有标签放入单个变量final_value
中。为此,我使用下面的代码-
soup = Soup(target_xml, 'html.parser')
for value in soup.find_all("body"):
final_value = value.prettify()
使用此方法,我在<body>
变量中仅得到一个final_value
标记。如何获取变量中的两个标记,以便输出是这样-
>> final_value
<body>
Sample Text1
</body>
<body>
Sample Text2
</body>
答案 0 :(得分:1)
这应该有帮助。
演示:
from bs4 import BeautifulSoup
target_xml = """<head>
<body>
Sample Text1
</body>
<body>
Sample Text2
</body>
</head>"""
final_value = ""
soup = BeautifulSoup(target_xml, 'html.parser')
for value in soup.find_all("body"):
final_value += value.prettify()
print(final_value)
输出:
<body>
Sample Text1
</body>
<body>
Sample Text2
</body>
答案 1 :(得分:1)
这些行中的第二个实际上覆盖了第一个value
:
for value in soup.find_all("body"):
final_value = value.prettify()
相反,请尝试以下操作:
for value in soup.find_all("body"):
final_value += value.prettify()