from BeautifulSoup import BeautifulStoneSoup
xml_data = """
<doc>
<test>test</test>
<foo:bar>Hello world!</foo:bar>
</doc>
"""
soup = BeautifulStoneSoup(xml_data)
print soup.prettify()
make = soup.find('foo:bar')
print make
# prints <foo:bar>Hello world!</foo:bar>
make.contents = ['Top of the world Ma!']
print make
# prints <foo:bar></foo:bar>
如何更改元素的内容,在本例中是变量“make”中的元素,而不丢失内容?如果您能指出其他可以修改现有 xml 文档的纯 python 模块,请告诉我。
附言! BeautifulSoup 非常适合 HTML 和 XML 的屏幕抓取和解析!
最佳答案
查看 documentation on replaceWith
.这有效:
make.contents[0].replaceWith('Top of the world Ma!')
关于python - 使用 BeautifulSoup 更改元素值返回空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711376/