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模块,请告诉我。
PS!BeautifulSoup非常适合HTML和XML的屏幕抓图和解析!
请查看上的文档replaceWith。这有效:
replaceWith
make.contents[0].replaceWith('Top of the world Ma!')